Deep Learning: Công nghệ đột phá mang nhiều giá trị cho ngành công nghiệp

Mạng thần kinh nhân tạo (Artificial neural networks – hoặc neural networks) là một mô hình lập trình được lấy cảm hứng từ sinh học, mô hình này cho phép máy tính học từ observational data (dữ liệu quan sát). Deep learning là một tập hợp các kỹ thuật machine learning (learning technique) trong nhiều lớp mạng thần kinh. Công nghệ này đang dẫn đầu trong việc cung cấp những giải pháp tốt nhất cho nhiều bài toán trong nhận diện giọng nói và hình ảnh, từ đó mang lại nhiều giá trị cho các ứng dụng doanh nghiệp bao gồm công nghệ quảng cáo, dịch vụ tài chính, phương tiện truyền thông, sản xuất, y tế, dịch vụ công cộng. Các công ty công nghệ khổng lồ hầu hết đều nỗ lực đầu tư vào việc nghiên cứu để phát triển các hệ thống phần mềm và ứng dụng deep learning.
Kỹ thuật bên trong của deep learning là gì? Điểm cốt lõi của deep learning đó là mô hình deep neural network và khả năng dạy (training). Kiến trúc deep neural network phổ biến nhất chính là convolutional neural networks (mạng lưới thần kinh xoắn) và recurrent neural networks (mạng lưới thần kinh hồi quy).
Nhóm nghiên cứu AI của Facebook đã tạo ra một phần mềm mang tên DeepFace có khả năng nhận diện gương mặt với độ chính xác đạt 97,35%. Công bố vào năm 2014, kết quả của việc nghiên cứu cho thấy họ đã sử dụng 4 triệu hình ảnh khuôn mặt với 4000 trường hợp gần giống nhau để dạy mô hình deep neural network và làm tốt hơn so với kỹ thuật trước đây.
Deep learning đã được áp dụng thành công vào lĩnh vực phân loại và phát hiện vật thể. Nhóm nghiên cứu của Google đã giới thiệu Inception – một kiến trúc deep neural networks đạt đỉnh cao trong việc phân loại và phát hiện tại sự kiện ImageNet Large-Scale Visual Recognition Challenge 2014 (Nhận diện hình ảnh trực quan quy mô lớn).
Nhóm nghiên cứu của công ty Baidu đã phát triển một mô hình dựa trên recurrent neural networks nhằm nhận diện giọng nói với ngôn ngữ tiếng Anh và tiếng Quan Thoại. Hệ thống này được gọi là deep speech 2, được dạy trong 11.940 giờ với giọng nói được dán nhãn (labelled speech), trong đó nó chứa 8.000.000 lời phát biểu bằng tiếng Anh. Hệ thống còn dạy 9.400 giờ với bài phát biểu được dán nhãn có chứa 11 triệu lời phát biểu. Deep speech 2 được coi như là nghệ thuật đỉnh cao của công nghệ nhận diện giọng nói.

Cấu trúc

Về cơ bản, neural networks có thể được xem là một bộ gồm các layer. Mỗi layer sẽ nhận output từ những layer trước, thực hiện vài tính toán và cung cấp output của chính nó cho layer tiếp theo. Ảnh 1 minh họa cho một multi-layer neural network, trong đó mỗi kiến trúc hình vuông tượng trưng cho một calculation layer. Mỗi calculation layer sẽ kết hợp với một bộ W của các tham số, từ đó sẽ định dạng một chức năng liên quan đến output và input của layer. Các tham số này sẽ được xác đinh trong training phase. Ảnh 2 minh họa cho calculation layer được kết nối đầy đủ, nghĩa là mỗi output neural được kết nối với tất cả input neural của layer.
Trong ứng dụng phân loại hình ảnh, cường độ phân giải (pixel) của bức ảnh có thể đại diện cho mỗi input neural. Mỗi output neural có thể đạt xác suất khi hình ảnh thuộc loại liên quan đến neural này.
 Hình 1: Multi-layer neural networks
 Hình 2: Fully connected

Kiến trúc của convolutional neural networks

Hình ảnh là một loại dữ liệu có chứa tính tương quan trong không gian local. Kiến trúc xoắn bao gồm một hoặc nhiều lớp convolutional networks. Mỗi lớp xoắn được gắn với một filter có thể tính toán output, trong đó mỗi thành phần chứa các thông tin của sub-region mà hình ảnh input như trong hình 3. GoogLeNet gồm 22 lớp tham số được gộp lại với nhiều lớp xoắn có kích thước filter khác nhau.


Hình 3: Convolutional layer

Kiến trúc recurrent neural network

Trong xử lý ngôn ngữ tự nhiên và các ứng dụng nhận diện giọng nói, các chuỗi thông tin đóng vai trò rất quan trọng. Ví dụ, một từ xuất hiện trong câu sẽ phụ thuộc vào từ trước đó. Kiến trúc recurrent neural network giải quyết vấn đề này được minh họa như hình 4.

Hình 4: Một đoạn của recurrent neural networks
Thông thường, output của mỗi layer sẽ tự phản hồi vào một time step cụ thể. Ảnh 5 minh họa cho layer trong unrolled manner. Theo ví dụ này, chúng ta sẽ thấy những câu gồm 4 từ. Layer này sẽ mở rộng thành 4-layer network, mỗi layer chứa một từ.

Hình 5: Unrolled recurrent neural networks
Hệ thống deep speech 2 khai thác Bidirectional recurrent neural networks (xem hình 6), trong đó các thành phần của câu tương quan theo hai hướng.
Hình 6: Bidirectional recurrent neural networks

Training process


Training là một quá trình để xác định các tham số của mô hình neural network. Quy trình này bao gồm tối thiểu hóa 1 hàm loss (loss function) dựa trên một training data set. Hai hàm loss được dùng nhiều nhất trong deep learning là negative log-likelihood và cross-entropy. Quá trình tối thiểu hóa thường bắt đầu từ việc gán giá trị ngẫu nhiên cho các tham số và lặp lại việc cập nhật các tham số này dựa trên dẫn xuất 1 phần (partial derivatives) của hàm loss theo trọng số. Back Propangation là một schema cho phép tính toán những dẫn xuất này một cách hiệu quả.

Công cụ deep learning

Hơn 40 thư viện phần mềm về deep learning đã được phát triển bởi các kỹ sư và nhà nghiên cứu của các công ty lớn như Google, Facebook, hoặc từ các trường đại học danh tiếng như Montreal, UC Berkeley, … Hầu hết các thư viện này đều được phát triển và duy trì như open source phục vụ cho cộng đồng nghiên cứu và các nhà phát triển ứng dụng.
FPT Software cũng bắt nhịp xu hướng này. Chúng tôi đang thực hiện 2 dự án sử dụng công nghệ deep learning. Mục tiêu của dự án đầu tiên đó là xây dựng một công cụ có thể nhận diện chỗ đỗ xe trống trích xuất từ hình ảnh, từ đó sẽ hướng dẫn người lái xe tìm nơi dỡ hàng hóa một cách nhanh chóng. Để làm được điều này, chúng tôi sử dụng region proposal network, một mô hình có thể dự đoán đồng thời cả vật thể và vị trí của chúng. Chúng tôi đã nghiên cứu 3000 hình ảnh và cho ra độ chính xác đạt 93,2%.
Mục tiêu của dự án thứ hai nhằm xây dựng một công cụ giúp các nhà quản lý nhận diện và đếm được số lượng món hàng trong từng nhóm hàng tại mỗi outlet, shop thông qua hình ảnh. Case study này áp dụng tại một trong những công ty phân phối lớn nhất tại Việt Nam. Chúng tôi thu thập những hình ảnh của các thương hiệu sữa (Dutch Lady, Vinamilk) để train cho region proposal network. Thử nghiệm đầu tiên của chúng tôi đã đạt độ chính xác đến 90%.
Nghiên cứu và phát triển ứng dụng deep learning đang là một xu hướng nổi bật. Nhiều giải pháp đổi mới kinh doanh đều dựa vào công nghệ deep learning. Trong bản báo cáo vào tháng 10/2015, Gartner cho biết deep learning lọt top 10 những xu hướng công nghệ mang tính chiến lược trong năm 2016. Tractica dự đoán doanh thu phần mềm hàng năm cho các ứng dụng doanh nghiệp từ deep learning sẽ tăng từ 109 triệu đô (2015) lên đến 10,4 tỉ đô vào năm 2024.

Share on Google Plus

About Hà Tuấn Anh

1 nhận xét: