Deep Learning là gì? Ưu điểm và cách thức hoạt động của Deep Learning

26/04/2023

Deep Learning là gì? Ưu điểm và cách thức hoạt động của Deep Learning

Nội dung

Deep Learning là một thuật toán nằm trong công nghệ trí tuệ nhân tạo (AI), với khả năng nghiên cứu sâu về hành vi của con người rồi bắt chước lại cách bộ não con người hoạt động để xử lý dữ liệu. Các kỹ thuật sử dụng trong deep learning có mạng nơ-ron cổ điển, mạng nơ-ron tích chập CNN, mạng nơ-ron hồi quy RNN, mạng sinh đối nghịch GAN, Boltzmann Machine và học tăng cường sâu. Vậy Deep Learning là gì, ứng dụng vào thực tế ra sao?

I. Deep Learning là gì?

Deep Learning (Học Sâu) là một lĩnh vực con của Machine Learning (Học máy), là một mạng nơ-ron nhân tạo có ba lớp (layer) trở lên được xây dựng để mô phỏng khả năng tư duy giống bộ não của con người. Càng nhiều lớp thì mạng sẽ càng sâu.

Deep Learning là gì?

Deep Learning mô phỏng khả năng tư duy giống bộ não con người

Cách thức hoạt động của Deep Learning đó là các dòng thông tin sẽ qua nhiều lớp cho đến các lớp sau cùng, lớp đầu sẽ tập trung học các khái niệm cụ thể, càng vào sâu thì thông tin sẽ được nghiên cứu và phân tích kỹ hơn.

II. Ưu điểm mà Deep Learning mang lại

Deep Learning cho phép các nhà khoa học dữ liệu xây dựng ra nhiều mô hình có độ chính xác cao trong lĩnh vực nhận dạng ảnh, xử lý giọng nói, xử lý ngôn ngữ tự nhiên (dịch thuật), với những ưu điểm như:

- Giải quyết được nhiều bài toán phức tạp cho ra kết quả chính xác cao;

- Tính tự động hoá cao, có khả năng tự tối ưu, tự điều chỉnh;

- Có khả năng tính toán song song với hiệu năng tốt, xử lý được số lượng dữ liệu lớn;

- Kiến trúc mạng nơ-ron linh hoạt, dễ dàng thay đổi để phù hợp với nhiều tình huống, vấn đề khác nhau.

III. Các kỹ thuật sử dụng trong Deep Learning

1. Mạng nơ-ron cổ điển

Mạng nơ-ron cổ điển là mạng kết nối đầy đủ với kiến trúc được xây dựng bằng các perceptron đa lớp (đây là một thuật toán đơn giản hỗ trợ tìm ranh giới siêu phẳng cho những bài toán phân lớp nhị phân). Fran Rosenblatt đã thiết kế mạng nơ-ron cổ điển vào năm 1958, chủ yếu sử dụng cho các bài toán phân lớp nhị phân.

Thông thường, có 3 loại hàm được sử dụng trong mạng nơ-ron cổ điển đó là hàm tuyến tính, hàm phi tuyến với hàm sigmoid, hàm tanh và hàm ReLU (Rectified Linear Unit).

Mạng nơ-ron cổ điển sử dụng cho những bài toán hồi quy, phân loại có đầu vào là giá trị thực hoặc các bộ dữ liệu có dạng bảng vì kiến trúc tương đối đơn giản.

2. Mạng nơ-ron tích chập Convolutional Neural Network (CNN)

CNN là một kiến trúc Neural Network nhân tạo nâng cao, được xây dựng để giải quyết những bài toán phức tạp, đặc biệt là liên quan đến việc xử lý hình ảnh.

Xây dựng mô hình CNN trải qua ba giai đoạn chính là quá trình tích chập (convolution), quá trình tổng hợp (max pooling) và quá trình kết nối hoàn toàn (fully connected). Mạng CNN sử dụng phổ biến trong việc nhận diện, phân tích, phân khúc hình ảnh/video, xử lý ngôn ngữ tự nhiên…

3. Mạng nơ-ron hồi quy - Recurrent Neural Network (RNN)

Đây là một thuật toán nổi tiếng trong lĩnh vực xử lý ngôn ngữ, dịch ngôn ngữ, nhận dạng giọng nói, chú thích hình ảnh… chúng được tích hợp vào các ứng dụng vào Siri, Google Translate… Giống các mạng nơ-ron chuyển tiếp và tích chập (CNN), các mạng nơ-ron hồi quy sử dụng dữ liệu huấn luyện (training data) để học. Chúng được phân biệt bởi “bộ nhớ” của chúng khi chúng lấy thông tin từ các đầu vào trước đó để tác động đến đầu vào và đầu ra hiện tại.

Trong khi các mạng nơ-ron sâu truyền thống giả định rằng các đầu vào và đầu ra độc lập với nhau, thì đầu ra của các mạng nơ-ron tái phát lại phụ thuộc vào các phần tử trước đó trong chuỗi.

Mạng nơ-ron hồi quy - Recurrent Neural Network (RNN)

Mạng nơ-ron hồi quy - Recurrent Neural Network (RNN) (Nguồn: internet)

RNN có hai thiết kế chính là long short-term memory (LSTM) và gated RNN, sử dụng chủ yếu để dự đoán dữ liệu dạng chuỗi thời gian.

Các dạng bài toán RNN có one to one, one to many, many to one và many to many.

4. Mạng sinh đối nghịch (GAN - Generative Adversarial Networks)

Đây là lớp mô hình có mục tiêu tạo ra dữ liệu giả giống với thật, tên mạng đối nghịch là do có cấu tạo từ hai mạng có mục tiêu đối nghịch nhau gồm Generator và Discriminator. Mục tiêu của Generator là học cách sinh dữ liệu để lừa Discriminator, trong khi Discriminator lại học cách phân biệt dữ liệu thật và dữ liệu giả.

Mạng sinh đối nghịch (GAN - Generative Adversarial Networks)

Cách thức hoạt động của mạng sinh đối nghịch (nguồn: internet)

Ứng dụng GAN chính là deep fake giả dạng khuôn mặt, sinh ảnh vật thể, tạo ra nhân vật hoạt hoạ…

5. Boltzmann Machine

Được sử dụng để tạo ra các tham số cho mô hình mạng không có hướng xác định (các node của mạng này liên kết với nhau tạo thành hình tròn). Ứng dụng Boltzmann Machine phổ biến nhất là giám sát hệ thống và xây dựng hệ thống khuyến nghị nhị phân.

6. Học tăng cường sâu (Deep Reinforcement Learning)

Deep Reinforcement Learning là quá trình mà các agent (tác tử) tương tác với môi trường để thay đổi trạng thái của chính nó, các agent sẽ tự động quan sát và thực hiện các hành động phù hợp để mạng có thể đạt được mục tiêu.

Mô hình học tăng cường sâu gồm một input layer, output layer và nhiều hidden layer khác, sẽ liên tục dự đoán điểm đạt được sau mỗi hành động được thực hiện trong từng trạng thái cụ thể.

Học tăng cường sâu được ứng dụng trong game cờ vua, poker, xe tự lái…

7. Autoencoder Bộ mã hoá tự động

Autoencoder là một kỹ thuật phổ biến nhất của Deep Learning, có khả năng học không giám sát (unsupervised learning), có nghĩa là học hết các dữ liệu đầu vào mà không cần phải gắn nhãn).

Một số loại autoencoder là sparse (thưa), denoising (lọc nhiễu), contractive và stacked.

Các ứng dụng phổ biến sử dụng kỹ thuật này là phát hiện đặc trưng và bổ sung đặc trưng cho tập dữ liệu, xây dựng hệ thống khuyến nghị cho tập dữ liệu…

8. Lan truyền ngược (Backpropagation) hay lan truyền ngược lỗi

Đây là một trong những kỹ thuật quan trọng nhất của mạng nơ-ron, cơ bản là phương pháp giúp tính gradient ngược từ lớp cuối cùng đến lớp đầu tiên. Đây là một thuật toán được thiết kế để kiểm tra các lỗi hoạt động ngược từ các nút đầu ra sang các nút đầu vào, nó là một công cụ toán học quan trọng nhằm cải thiện độ chính xác của các dự đoán trong khai thác dữ liệu và học máy.

9. Gradient Descent

Trong deep learning, ta thường phải tìm giá trị nhỏ nhất/lớn nhất của hàm số nào đó, nhưng để tìm được các điểm giá trị này thường rất khó, thậm chí là bất khả thi, nên ta chỉ có thể cố gắng tìm ra những điểm cực tiểu địa phương xem như là nghiệm cần tìm của bài toán.

Một vấn đề nữa phát sinh là việc giải phương trình đạo hàm bằng 0 gần như là không thể trong Deep Learning nên cách giải phổ biến là xuất phát từ một điểm gần với nghiệm của bài toán nhất rồi sử dụng phép lặp để từ từ tiến đến điểm cần tìm. Đây chính là phương pháp hạ gradient. Nhờ vào thuật toán lan truyền ngược và các mạng nơ-ron hiện đại mà gradient descent có thể ra kết quả nhanh hơn so với cách truyền thống.

IV. Cách thức hoạt động của Deep Learning

Các dòng thông tin sẽ qua nhiều lớp cho đến các lớp sau cùng, lớp đầu sẽ tập trung học các khái niệm cụ thể, càng vào sâu thì thông tin sẽ được nghiên cứu và phân tích kỹ hơn.

Trong mỗi lớp là các nút mạng (node) được liên kết với những lớp liền kề khác nhau. Cứ mỗi kết nối giữa các nút sẽ có một trọng số tương ứng, trọng số càng cao thì ảnh hưởng càng lớn đến mạng nơ-ron.

Cách thức hoạt động của Deep Learning

Cách thức hoạt động của Deep Learning (Nguồn: Internet)

Mỗi nơ-ron sẽ có một hàm kích hoạt, nhiệm vụ của nó là chuẩn hoá đầu ra. Dữ liệu đầu vào đưa vào mạng nơ-ron sẽ đi qua tất cả các lớp và trả về kết quả ở lớp cuối cùng (output layer).

Trong quá trình huấn luyện mô hình mạng nơ-ron, các trọng số sẽ được thay đổi, nhiệm vụ của mô hình là tìm ra được bộ giá trị tốt nhất của trọng số.

Các hệ thống Deep Learning cần phần cứng rất mạnh để có thể thực hiện được việc tính toán phức tạp và xử lý được lượng dữ liệu lớn.

V. Ứng dụng Deep Learning vào thực tế

Có thể bạn chưa biết 5 ứng dụng thực tế dưới đây đang sử dụng Deep Learning, đó là:

1. Xe tự động lái (self-driving car)

Nhắc tới xe ô tô tự lái chắc hẳn cũng khiến bạn gợi nhớ đến thương hiệu xe điện nổi tiếng Tesla, với khả năng nhận biết được vật cản trên đường và tự động tránh, duy trì với tốc độ cho phép mà không cần bất cứ sự tham gia điều khiển nào của con người.

Ứng dụng Deep Learning vào thực tế

Xe tự động lái, tự động nhận biết được vật cản nhờ công nghệ deep learning

Chiếc xe tự lái đầu tiên xuất hiện trong triển lãm General Motors năm 1939 và ngày càng được hoàn thiện với nhiều công nghệ, đặc biệt là yếu tố AI.

Công nghệ Deep Learning đã được sử dụng để nhận diện các đối tượng xung quanh, tính toán khoảng cách giữa các xe, các định vị trí làn đường cũng như tín hiệu đèn giao thông… thông qua các các dữ liệu từ máy ảnh, bản đồ địa lý, các yếu tố môi trường để tích hợp cảm biến, sau đó đưa ra nhiều hướng giải quyết khác nhau làm sao để đảm bảo an toàn cho bạn với giả định nhiều tình huống và hàng ngàn kịch bản khác nhau.

2. Trợ lý ảo

Các trợ lý ảo Siri, Google Assistant hay Alexa đều đang sử dụng thuật toán Deep Learning. Sau mỗi lần tương tác với bạn, ngữ điệu, giọng nói, các chủ đề về bạn, sở thích, các địa điểm hay đến… đều được thu thập lại để “học sâu”. Chúng sẽ đưa ra nhiều gợi ý phù hợp với bạn, hỗ trợ trong nhiều vấn đề về lịch hẹn, nhắc nhở cuộc gọi, tạo văn bản, tóm tắt tài liệu, tạo và gửi email… đúng nghĩa là một trợ lý thực thụ trong cuộc sống hằng ngày của bạn.

3. Phân tích dữ liệu trên nền tảng mạng xã hội

Một số nền tảng mạng xã hội lớn như Twitter, Instagram sử dụng thuật toán Deep Learning để cải thiện các dịch vụ của mình bằng việc phân tích một lượng dữ liệu lớn thông qua mạng nơ-ron nhân tạo, tìm hiểu về thói quen tuỳ chọn của người dùng, chặn các bình luận vi phạm, loại bỏ các bài đăng có hành vi bạo lực hoặc phán đoán cảm xúc của khách hàng dựa trên những đánh giá, bình luận… từ đó đưa ra những chiến lược marketing và kinh doanh phù hợp với từng nhóm đối tượng khách hàng.

4. Chăm sóc sức khỏe

Phổ biến trong lĩnh vực chăm sóc sức khỏe và y tế, Deep Learning đã đóng góp vào việc dự đoán tình trạng bệnh, chẩn đoán ung thư, phân tích kết quả X-ray, MRI…

Chăm sóc sức khỏe

Sử dụng deep learning trong việc chẩn đoán bệnh (nguồn: internet)

5. Tính năng dịch tự động

Ứng dụng này của Google Translate cho phép tự động dịch hình ảnh với văn bản theo thời gian thực sang ngôn ngữ được chỉ định. Thông qua công nghệ OCR nhận dạng và quét ký tự bằng quang học ở chế độ hình ảnh và tệp PDF, văn bản được quét và tự động dịch thuật.

VI. Lợi thế của Deep Learning so với Machine Learning

Deep Learning có khả năng giải quyết nhiều vấn đề phức tạp, đồng thời, phân tích và học được những mối quan hệ ẩn trong dữ liệu thu thập được.

Đặc biệt phát huy tối đa công hiệu với các vấn đề cần xử lý nhiều dữ liệu ở dạng phi cấu trúc, như: xử lý ngôn ngữ tự nhiên, nhận diện giọng nói, phân loại hình ảnh. Với những vấn đề không phức tạp bằng, không yêu cầu nặng nề về mặt tính toán, ít dữ liệu thì thuật toán  Machine Learning sẽ hợp lý hơn.

Vì phải xử lý lượng dữ liệu vô cùng lớn nên mô hình Deep Learning cần GPU và tài nguyên tính toán nặng mới đạt được hiệu năng tốt nhất. Trong khi Machine Learning chỉ cần CPU và phần cứng vừa phải, không nặng về tài nguyên và thời gian tính toán.

Số lượng dữ liệu đầu vào (dữ liệu đã được dán nhãn) của Deep Learning lớn hơn so với Machine Learning. Việc dán nhãn cũng yêu cầu nguồn lực và thời gian, với những lĩnh vực yêu cầu chuyên môn cao mới dán nhãn được chính xác thì nên sử dụng các thuật toán Machine  Learning cổ điển hơn là Deep Learning.

Nói tóm lại, Deep Learning không hẳn là một lĩnh vực quá mới mẻ nữa nhất là trong thời buổi bùng nổ công nghệ như hiện nay. Deep Learning giúp các nhà khoa học tận dụng được tối đa khả năng của các mô hình mạng nơ-ron nhân tạo, tạo tiền đề cho việc giải quyết nhiều bài toán tưởng chừng như không thể có lời giải vào nhiều năm trước đó. Mong rằng, những thông tin mà Vega Fintech mang đến sẽ hữu ích với bạn. Chúc bạn thành công!