Chương 1: Tổng quan đề tài - Chương 2: Cơ sở lý thuyết - Chương 3: Xây dựng dataset và thiết kế chương chình - Chương 4: Thử nghiệm và đánh giá kết quả - Chương 5: Kết luận.1 Trí tuệ nhân tạo (Artificial intelligence - AI) Trí tuệ nhân tạo, trí thông minh nhân tạo (Artificial intelligence - AI) là một ngành thuộc lĩnh vực khoa học máy tính (Computer science), là lĩnh vực nghiên cứu và phát triển các hệ thống máy tính có khả năng thực hiện các nhiệm vụ yêu cầu sự hiểu biết, logic, học tập, và ra quyết định giống hoặc tương tự con người, là trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động hóa các hành vi thông minh như con người. Mục tiêu của trí tuệ nhân tạo là tạo ra các máy tính có khả năng thực hiện công việc mà trước đây chỉ có con người mới có thể thực hiện được. Trí tuệ nhân tạo giúp máy tính có được những trí tuệ của con người như: biết suy nghĩ và lập luận để giải quyết vấn đề, biết giao tiếp do hiểu ngôn ngữ, tiếng nói, biết học và tự thích nghi,… Trí tuệ nhân tạo đã có nhiều ứng dụng trong đời sống hàng ngày, từ các hệ thống trợ giúp thông minh (như trợ lý ảo) đến ứng dụng trong y tế, tài chính, và nhiều lĩnh vực khác…. [3] Trí Tuệ Nhân Tạo Học Máy Học Sâu Hình 2.
Mối quan hệ giữa AI, ML và DL 6 2.2 Học máy (Machine Learning - ML) Học máy là một nhánh quan trọng của trí tuệ nhân tạo, là phương tiện mà con người vận dụng để máy tính có được trí tuệ như con người. Cụ thể hơn học máy tập trung vào việc xây dựng các mô hình máy tính có khả năng học từ dữ liệu và cải thiện hiệu suất theo thời gian mà không cần lập trình cụ thể, các mục tiêu làm cho máy tính có những khả năng nhận thức cơ bản của con người như nghe, nhìn, hiểu được ngôn ngữ tự nhiên, hình ảnh, giải toán, lập trình… và hỗ trợ con người trong việc xử lý khối lượng thông tin khổng lồ mà chúng ta phải đối mặt hàng ngày trong công việc và cuộc sống. Ngoài ra còn một cách khác phân loại theo công dụng và đặc điểm của từng thuật toán như: thuật toán hồi quy, thuật toán phân lớp, thuật toán cây quyết định, thuật toán tăng cường, thuật toán mạng nơron …. Phân loại học máy 7 2.3 Thuật toán mạng nơron nhân tạo (Artificial Neural Network Algorithm) Mạng nơron nhân tạo (Artificial Neural Network - ANN) là một mô hình tính toán lấy cảm hứng từ cách hoạt động của hệ thống nơron trong não người.
Nó là một phần quan trọng trong lĩnh vực học máy và trí tuệ nhân tạo. Mạng nơron nhân tạo được thiết kế để học và thực hiện các nhiệm vụ thông qua việc ánh xạ đầu vào sang đầu ra dựa trên các trọng số kết nối được điều chỉnh trong quá trình huấn luyện. Mạng nơron nhân tạo là một tập hợp con của học máy, trung tâm của thuật toán học sâu được đưa ra để hỗ trợ tìm kiếm những mối quan hệ cơ bản của một tập hợp dữ liệu dựa vào việc bắt chước cách thức hoạt động từ não bộ con người. Nơron nhân tạo có các mô đun phần mềm, được gọi là nút.
Mạng nơron nhân tạo là chương trình phần mềm hoặc thuật toán mà về cơ bản, sử dụng hệ thống máy tính để giải quyết phép toán. Mạng thần kinh nhân tạo có cấu tạo nhiều lớp nút, bao gồm lớp đầu vào, một hoặc nhiều lớp ẩn và lớp đầu ra. Mỗi nút, hoặc nơron nhân tạo, kết nối với tất cả các nút khác có trọng số cùng ngưỡng liên quan. Chúng phối hợp, gửi tín hiệu đến nhau để cùng giải quyết vấn đề.
Cấu trúc mạng nơron nhân tạo 8 Một mạng nơron nhân tạo bao gồm các thành phần chính sau: Lớp đầu vào: chứa các đơn vị (nơron nhân tạo) nhận đầu vào từ thế giới bên ngoài mà mạng sẽ học, nhận biết hoặc xử lý theo các cách khác nhau. Lớp đầu ra: chứa các đơn vị phản hồi thông tin về cách nó học bất kỳ nhiệm vụ nào. Lớp ẩn: các đơn vị này nằm giữa các lớp đầu vào và đầu ra, công việc của lớp ẩn là biến đổi đầu vào thành thứ mà đơn vị đầu ra có thể sử dụng bằng cách nào đó. Nút (hoặc nơron): Là các đơn vị cơ bản trong mạng, tương tự như nơron trong não người.
Mỗi nút thường có một giá trị đầu vào, thực hiện một phép toán trên giá trị này, và sau đó chuyển giá trị đầu ra đến nút tiếp theo. Kết nối: Là các liên kết giữa các nút, mỗi liên kết có một trọng số. Trọng số này thể hiện mức độ quan trọng của kết nối, và nó được điều chỉnh trong quá trình huấn luyện để mạng có thể học từ dữ liệu. Kiến trúc mạng: Là cách các nút và kết nối được tổ chức trong mạng.
Có nhiều kiểu kiến trúc mạng khác nhau, bao gồm mạng nơron đơn và mạng nơron đa lớp. Mạng nơron đa lớp, đặc biệt là mạng nơron sâu (Deep Neural Networks - DNN) đóng vai trò quan trọng trong nhiều ứng dụng học máy ngày nay.1 Cơ chế hoạt động của mạng nơron nhân tạo: Hình 2. Minh họa cơ chế hoạt động của mạng nơron nhân tạo 9 Mạng nơron nhân tạo được xem như đồ thị có hướng, có trọng số, trong đó các nơron nhân tạo là các nút và các cạnh có hướng có trọng số là các kết nối giữa đầu vào và đầu ra. Mạng nơron nhân tạo nhận thông tin từ thế giới bên ngoài dưới dạng mẫu và hình ảnh ở dạng vectơ.
Các đầu vào này được ký hiệu x(n) cho n số đầu vào. Mỗi đầu vào được nhân với trọng số tương ứng của nó. Trọng số (ký hiệu wn cho n đầu vào) là thông tin được sử dụng bởi mạng nơron để giải quyết một vấn đề nào đó. Thông thường, trọng số thể hiện độ bền của liên kết giữa các nơron bên trong mạng đó, các đầu vào có trọng số đều được tổng hợp bên trong đơn vị tính toán.
Trong trường hợp tổng trọng số bằng không, thiên vị (ký hiệu là b - Bias) được thêm vào để làm cho đầu ra không bằng không hoặc để mở rộng phản ứng của hệ thống, thiên vị có trọng số và đầu vào luôn bằng một. Tổng tương ứng với bất kỳ giá trị số nào khác nhau, từ không đến vô cùng. Để giới hạn phản hồi đạt đến giá trị mong muốn, giá trị ngưỡng được thiết lập. Đối với điều này, tổng được chuyển tiếp thông qua một hàm kích hoạt.
Chức năng kích hoạt được đặt thành chức năng truyền tải để có được đầu ra mong muốn.4 Học sâu (Deep Learning - DL) Học sâu (Deep Learning - DL) là một nhánh của trí tuệ nhân tạo (AI) tập trung vào việc sử dụng mạng nơron nhân tạo có nhiều lớp để học từ dữ liệu. Mạng nơron sâu (DNN) thường chứa nhiều lớp (tầng) nơron, điều này cho phép chúng học các đặc trưng phức tạp và biểu diễn thông tin ở mức độ cao. Deep Learning 10 Deep Learning (Deep Learning - DL) được bắt nguồn từ thuật toán mạng nơron nhân tạo, là một nhánh của trí tuệ nhân tạo (AI), và là một phần trong các phương pháp học máy dựa trên mạng thần kinh nhân tạo. Phương pháp mạng nơron nhân tạo dần phát triển, tập trung vào việc sử dụng mạng nơron nhân tạo có nhiều lớp để học từ dữ liệu, tăng số lớp, số nơron, xử lý khối lượng lớn dữ liệu, việc tăng số lớp trong mạng nơron được gọi là sâu.
Mạng nơron nhân tạo sâu được học (hoặc được huấn luyện) gọi là học sâu sẽ dùng nhiều lớp để rút trích dần các đặc trưng từ mẫu đầu vào giúp cho việc xử lý trở nên chính xác hơn. Deep Learning cùng với Dữ liệu lớn và Trí tuệ nhân tạo đã có nhiều ứng dụng trong thực tế và phát triển mạnh theo sự phát triển của tốc độ máy tính và sự tăng nhanh của dữ liệu cùng với các framework, làm việc xây dựng mô hình trở nên dễ dàng hơn. Deep Learning chỉ là một ngành nhỏ của học máy, tuy nhiên học sâu Deep learning quan tâm đến việc xây dựng các mạng thần kinh lớn hơn, phức tạp hơn nhiều, và làm sao để khai thác hiệu quả các bộ dữ liệu lớn chứa rất ít dữ liệu đã được gán nhãn. Mang lại rất nhiều thành tựu cực kỳ nổi bật như: sự chính xác của xử lý đồ họa qua thị giác máy tính, xử lý ngôn ngữ tự nhiên, nắm bắt được chuyển động và cử chỉ.
Chính những thành tựu nổi bật như vậy mà rất nhiều thuật toán học sâu ra đời như: mạng nơron tích chập (Convolutional Neural Network - CNN), mạng nơron hồi quy (Recurrent Neural Networks - RNN), mạng nhớ ngắn hạn định hướng dài hạn (Long Sort Term Memory - LSTM), mạng đối nghịch (Generative Adversarial Network - GAN).5 Mạng thần kinh tích chập (Convolutional Neural Network - CNN) Mạng nơron tích chập (Convolutional Neural Network - CNN) là một dạng của mạng nơron nhân tạo được thiết kế đặc biệt cho việc xử lý và phân tích hình ảnh. Mạng nơron tích chập CNN đã đạt được rất nhiều thành công trong nhiều ứng dụng, bao gồm nhận dạng đối tượng, nhận dạng khuôn mặt, phân loại hình ảnh và nhiều nhiệm vụ khác liên quan đến thị giác máy tính.[3] 11 Image Convolution layer Pooling layer Fully conneted layer Hình 2. Mạng nơron tích chập CNN Lớp tích chập (Convolutional Layer): Là lớp chính của CNN, trong đó các bộ lọc (kernels) được áp dụng lên ảnh đầu vào để tạo ra các bản đồ đặc trưng. Các bản đồ đặc trưng này giúp mô hình học được các đặc điểm cục bộ như cạnh, góc, hoặc các đối tượng phức tạp hơn.
Lớp kích hoạt (Activation Layer): Sau mỗi lớp tích chập, một hàm kích thích phi tuyến tính như ReLU thường được áp dụng để tăng tính phi tuyến tính và khả năng học của mô hình. Lớp gộp chung (Pooling Layer): Thường theo sau lớp tích chập, lớp gộp giúp giảm kích thước của bản đồ đặc trưng bằng cách giữ lại thông tin quan trọng. Phổ biến nhất là lớp gộp tối đa (max pooling) hoặc lớp gộp trung bình (average pooling). Lớp kết nối đầy đủ (Fully Connected Layer): Sau các lớp tích chập và gộp, thông thường có một hoặc một số lớp kết nối đầy đủ để kết hợp thông tin đặc trưng và đưa ra dự đoán cuối cùng.
Một số kiến trúc mạng rơron CNN nổi tiếng bao gồm LeNet, AlexNet, VGGNet, GoogLeNet, và ResNet… mỗi kiến trúc có những đặc điểm riêng và được thiết kế để giải quyết các vấn đề cụ thể.