Học sâu – Công nghệ kiến tạo giá trị mới

931

Học sâu (deep learning) là một tập các kỹ thuật học máy mạnh sử dụng mạng nơron(*) nhiều lớp. Đây hiện là công nghệ dẫn đầu trong việc giải quyết nhiều bài toán trong lĩnh vực nhận dạng ảnh, nhận dạng giọng nói, từ đó mang thêm nhiều giá trị mới cho doanh nghiệp trên nhiều lĩnh vực.

Hầu hết các công ty công nghệ lớn nhất trên thế giới đang đầu tư rất nhiều nguồn lực vào nghiên cứu và phát triển để tiếp tục cải tiến công nghệ lõi cũng như tạo ra các sản phẩm ứng dụng sử dụng kỹ thuật học sâu. Điển hình là nhóm nghiên cứu về trí tuệ nhân tạo của Facebook đã tạo ra phần mềm DeepFace [1] có khả năng nhận dạng khuôn mặt tốt như con người với độ chính xác khoảng 97.35%. Công trình này (công bố năm 2014) sử dụng 4 triệu ảnh khuôn mặt của hơn 4000 người để huấn luyện cho mạng nơron nhiều lớp và mô hình thu được đã vượt qua các kỹ thuật được nghiên cứu đề xuất trước đó.

Học sâu cũng đã được ứng dụng thành công trong việc phát hiện và phân loại các đối tượng. Google đã đề xuất một kiến trúc mạng nhiều lớp gọi là Inception [2] trong khi Baidu đã phát triển một mô hình nhận dạng giọng nói (chuyển đổi từ âm thanh sang dạng văn bản) dựa trên mạng nơron hồi quy và đã được thử nghiệm với tiếng Anh và tiếng Trung Quốc. Mô hình này hiện đang là mô hình tốt nhất cho bài toán nhận dạng giọng nói.

Cơ sở lý thuyết của học sâu?

Cốt lõi của học sâu bao gồm mô hình mạng nơron nhiều lớp và quá trình huấn luyện mạng để xác định các tham số cho mô hình. Hai mô hình mạng phổ biến nhất trong học sâu là mạng nhân chập và mạng hồi quy.

  • Kiến trúc mạng

Một mạng nơron có thể xem như một tập các tầng tính toán, mỗi tầng sẽ nhận đầu vào chính là đầu ra của tầng trước đó và thực hiện các phép tính toán để cho ra kết quả đầu ra, kết quả đầu ra này có thể lại là đầu vào cho tầng sau đó hoặc là đầu ra của mô hình.

Hình 1 minh hoạ một mạng nơron nhiều lớp trong đó các khối hình chữ nhật là một tầng tính toán. Mỗi tầng tính toán có thể coi  như một hàm tương ứng với một tập các tham số W. Giá trị của các tham số này sẽ được xác định trong quá trình huấn luyện mạng. Hình 2 minh hoạ một tầng tính toán kết nối đầy đủ trong đó mỗi nơron ở đầu ra sẽ được kết nối với tất cả các nơron đầu vào.

Hình 1. Mạng nơron nhiều lớp
Hình 2. Tầng kết nối đầy đủ

Trong các ứng dụng nhận dạng ảnh, mỗi nơron ở đầu biểu diễn mức xám của một điểm ảnh. Mỗi nơron đầu ra sẽ mang giá trị thể hiện xác suất để ảnh đầu vào thuộc về một lớp tương ứng với nơron đó.

  • Mạng nhân chập

Ảnh là loại dữ liệu có tính chất không gian trong đó giữa mỗi điểm ảnh và các điểm lân cận có mối quan hệ tương quan. Đây là lí do cho sự ra đời kiến trúc mạng nhân chập. Mạng bao gồm một số tầng nhân chập, mỗi tầng nhân chập sẽ tương ứng với các bộ lọc cùng kích thước, mỗi bộ lọc này chính là một ma trận (thường kích thước 3×3 hoặc 5×5,…). Bộ lọc sẽ trượt lần lượt trên các điểm ảnh, với mỗi vị trí, bộ lọc sẽ nhân chập với vùng ảnh tương ứng. Kết quả sẽ tạo ra một ma trận trong đó mỗi phần tử sẽ mang thông tin của cả một vùng ảnh (xem minh hoạ trong Hình 3). GoogleLeNet bao gồm 22 tầng tính toán trong đó có rất nhiều tầng nhân chập với các bộ lọc kích thước khác nhau.

Hình 3. Tầng nhân chập
  • Mạng hồi quy

Trong các ứng dụng xử lý ngôn ngữ tự nhiên và nhận dạng giọng nói, dữ liệu có tính chất chuỗi: ví dụ sự xuất hiện của một từ trong 1 câu phụ thuộc vào các từ trước đó. Kiến trúc mạng hồi quy đã được đề xuất để tận dụng đặc trưng đó (Hình 4). Trong kiến trúc này, đầu ra của mỗi tầng sẽ được truyền lại bản thân tầng đó trong 1 số bước nhất định. Hình 5 trình diễn một tầng hồi quy ở dạng thức trải dài. Trong ví dụ này, chúng ta xem xét một câu bao gồm 4 từ. Tầng hồi quy sẽ được trải thành 4 tầng tính toán, mỗi tầng tương ứng với 1 từ.

Figure 4. A chunk of recurrent neural networks
Hình 5. Tầng hồi quy được trải thành 4 tầng tính toán

Mô hình deep speech 2 của Baidu sử dụng mạng hồi quy 2 chiều (xem Hình 6) trong đó mỗi từ trong một câu có liên quan đến từ trước và từ sau đó.

Figure 6. Bidirectional recurrent neural networks
  • Quá trình huấn luyện mạng

Huấn luyện quá trình xác định các tham số cho mạng nơron. Quá trình này sử dụng một tập dữ liệu mẫu làm đầu vào, và tối thiểu hoá hàm lỗi. Quá trình tối thiểu hoá hàm lỗi xuất phát từ một bộ giá trị ngẫu nhiên của tham số, sau đó lần lượt cập nhật lại các giá trị tham số này dựa trên đạo hàm riêng của hàm lỗi theo từng tham số. Back Propagation là một thuật toán tính đạo hàm riêng một cách hiệu quả.

FPT cũng không nằm ngoài xu thế

Nghiên cứu và phát triển các ứng dụng học sâu đang là xu hướng công nghệ rất được quan tâm nhờ vào các thành tựu đột phá của nó. Báo cáo của Tractica [3] dự đoán doanh số hàng năm của các phần mềm ứng dụng học sâu sẽ tăng từ 109 triệu đô la trong năm 2015 lên đến 10.4 tỉ đô la vào năm 2024.

FPT đã và đang triển khai một số dự án ứng dụng công nghệ học sâu. Dự án thứ nhất là phát triển một hệ thống tìm kiếm các vị trí trống trong bãi đậu xe từ hình ảnh thu nhận được, từ đó hướng dẫn các tài xế đưa xe đến vị trí đậu xe một cách nhanh chóng để xếp, dỡ hàng hoá. Dự án thứ hai phát triển một hệ thống cho phép tự động phát hiện các mặt hàng được bày trên kệ của các cửa hàng, đại lí bán lẻ.

Hai dự án sử dụng mạng region proposal [4] được cài đặt với thư viện Caffe [5]. Ý tưởng chủ đạo của kiến trúc mạng region proposal là kết hợp ở đầu ra hai tầng song hành: một tầng dùng cho phân loại đối tượng và một tầng dùng để định vị đối tượng trong ảnh. Tầng phân loại biểu diễn các giá trị xác suất mà đối tượng thuộc về mỗi lớp. Tầng định vị biểu diễn 4 giá trị xác định toạ độ 2 đỉnh đối của khung hình chữ nhật chứa đối tượng trong ảnh. Hai tầng này chia sẻ nhau các tầng nhân chập trước đó. Các thử nghiệm bước đầu đã đạt được độ chính xác khoảng hơn 90%.

Mạng nơron(1) Mạng nơron nhân tạo (hay mạng nơron) là một mô thức lập trình lấy cảm hứng, ý tưởng từ các hiện tượng sinh học cho phép máy tính có thể học từ các dữ liệu quan sát được.

REFERENCES

[1]. Yaniv Taigman,  Ming Yang,  Marc’Aurelio Ranzato and  Lior Wolf. DeepFace: Closing the Gap to Human-Level Performance in Face Verification. Conference on Computer Vision and Pattern Recognition (CVPR), June 24, 2014

[2]. Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich. Going Deeper with Convolutions. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp 1-9

[10]. Tractica report. https://www.tractica.com/research/deep-learning-for-enterprise-applications/  -3

[11] Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. Conference on Neural Information Processing Systems (NIPS 2015), pages 91—99, 2015 – 4

[12] https://github.com/rbgirshick/py-faster-rcnn

Thông tin về tác giả:

Dr. Pham Quang Dung – FPT Software

PhD at Universitecatholique de Louvain, Belgium

Dr Dung’s research interests include algorithms, Combinatorial optimization, local search, ant colony optimization, mixed integer programming. He has authored several books and research such as: “A local Search Framework for Constraint Optimization on Graphs and Trees”; “Constraint-Based Local Search for Constrained Optimum Paths Problems”, etc.

(Bài viết được đăng trên ấn phẩm Đặc san công nghệ FPT, FPT TechInsight No.1 và tạp chí công nghệ Cuder World #3 do FPT Software phát hành)

Tin liên quan: