Học sâu (deep learning) 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ọc sâu là một tập các kỹ thuật học máy mạnh sử dụng mạng nơron (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) nhiều lớp.
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 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.
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.
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 một 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 một 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 một từ.
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 đó.
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 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 được cài đặt với thư viện Cafe. Ý 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%.
(theo Tech Insight)
FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế
FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng. |