McCarthy vàcộng sự cho rằng nghiên cứu TTNT nhằm mô tả chính xác các khía cạnh của xử lýtrí tuệ và học để có được tri thức và tạo ra được các hệ thống, máy mô phỏnghoạt động học và xử lý
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
======***======
BÁO CÁO BTL THUỘC HỌC PHẦN:
TRÍ TUỆ NHÂN TẠO
Nguyễn Đức Minh
Nguyễn Đức Huy
Trang 2MỤC LỤC
Trang 3Chương 1-Tổng quan về trí tuệ nhân tạo
Trí tuệ nhân tạo hiện đang phát triển với tốc độ “hàm mũ”, có nhiều đóng gópquan trọng vào sản xuất, dịch vụ và đời sống con người Tuy nhiên, Trí tuệ nhântạo là một lĩnh vực rất phức tạp và cũng tạo ra nhiều thách thức rất đáng lo ngại.Hiểu biết đúng về Trí tuệ nhân tạo để nắm bắt đúng và kịp thời các cơ hội và tháchthức từ Trí tuệ nhân tạo là rất cần thiết đối với mỗi con người, mỗi tổ chức và mỗiquốc gia Vậy ở chương này chúng ta hãy đi tìm hiểu tổng quan về Trí tuệ nhântạo
1.1 Khái niệm
Tại hội nghị The Dartmouth diễn ra vào năm 1956, khái niệm về TTNT xuấthiện đầu tiên bởi John McCarthy, một nhà khoa học máy tính Mỹ McCarthy vàcộng sự cho rằng nghiên cứu TTNT nhằm mô tả chính xác các khía cạnh của xử lýtrí tuệ và học (để có được tri thức) và tạo ra được các hệ thống, máy mô phỏnghoạt động học và xử lý trí tuệ
Tuy nhiên hơn sáu thập kỷ phát triển của TTNT chứng kiến nhiều định nghĩakhác nhau về TTNT Từ những quan điểm này, TTNT là hoạt động hướng tới xâydựng các hệ thống, máy có khả năng sử dụng ngôn ngữ tự nhiên, trừu tượng hóa-hình thức hóa các khái niệm và giải quyết vấn đề dựa trên tiếp cận logic, ra quyếtđịnh trong điều kiện thiếu thông tin TTNT là lĩnh vực liên ngành của Triết học,Tâm lý học, Khoa học thần kinh, Toán học, Điều khiển học, Khoa học máy tính,Ngôn ngữ học, Kinh tế
Một số năng lực trí tuệ điển hình là: Học từ kinh nghiệm (trích rút tri thức từkinh nghiệm) và áp dụng tri thức; Phản ứng nhanh chóng và chính xác đối với tình
Trang 4huống mới; Nhận dạng và hiểu được ngữ nghĩa hình ảnh; Sử dụng heuristic(mẹo) Việc chứng minh khả năng trí tuệ của máy hoặc do con người kiểm định(kiểm thử Turing) hoặc đánh giá khách quan (sử dụng các công cụ thống kê, logic
Làn sóng nghiên cứu TTNT thứ hai từ những năm 2000 đến nay được đặc trưngbởi sự phát triển của máy học Sự sẵn có một khối lượng lớn dữ liệu số, khả năngtính toán song song lớn tương đối rẻ, các kỹ thuật học cải tiến đã mang lại nhữngtiến bộ đáng kể trong TTNT khi áp dụng cho các nhiệm vụ như nhận dạng hình ảnh
và chữ viết, hiểu ngôn từ, và dịch thuật ngôn ngữ của người Thành quả của nhữngtiến bộ này có mặt ở khắp nơi: điện thoại thông minh thực hiện nhận 6 dạng giọngnói, máy ATM thực hiện nhận dạng chữ viết tay, ứng dụng email lọc thư rác, và cácdịch vụ trực tuyến miễn phí thực hiện dịch máy Chìa khóa cho một số những thànhcông này là sự phát triển của học sâu (deep learning)
Lĩnh vực TTNT hiện đang trong giai đoạn khởi đầu của làn sóng thứ ba, tậptrung vào các công nghệ TTNT phổ quát và giải thích Các mục tiêu của các
Trang 5làm rõ các căn cứ và độ tin cậy của kết quả đầu ra, để hoạt động với mức độ minhbạch cao, và để vượt qua TTNT phạm vi hẹp tới khả năng có thể khái quát cácphạm vi nhiệm vụ rộng hơn Nếu thành công, các kỹ sư có thể tạo ra các hệ thốngxây dựng mô hình giải thích cho các lớp của hiện tượng thế giới thực, tham giagiao tiếp tự nhiên với người, học và suy luận những nhiệm vụ và tình huống mớigặp, và giải quyết các vấn đề mới bằng cách khái quát kinh nghiệm quá khứ
1.3 Xu hướng nghiên cứu TTNT
Hình 1: Xu hướng nghiên cứu TTNT
Trang 6Hệ chuyên gia xử lý các tình huống tư vấn (xác định vấn đề tư vấn, thu thập
thông tin dữ liệu, suy diễn giải quyết vấn đề, lựa chọn giải pháp phù hợp), tương tựnhư chuyên gia con người trong miền ứng dụng cụ thể
Người máy TTNT có thể tự thực hiện được các hành vi có trí tuệ giống con
người, nhờ được trang bị các hệ thống phần mềm, thiết bị TTNT Để hạn chế ởmức cao nhất các rủi ro trong khai thác và sử dụng người máy TTNT, ba luật hoạtđộng của người máy cần được tuân thủ: (i) Người máy không có hành động gây hạicho con người và cần hành động phù hợp khi con người bị hại; (ii) Người máy tuânlệnh con người, ngoại trừ lệnh gây hại cho con người (để không xung đột với luậthoạt động thứ nhất); (iii) Người máy biết cách tự bảo vệ mình ngoại trừ trường hợp
bị xung đột với luật hoạt động thứ nhất và luật hoạt động thứ hai Cần phân biệtngười máy TTNT với người máy công nghiệp làm các công việc buồn tẻ, độc hại
và nguy hiểm
Hệ thống thị giác máy có khả năng nhận dạng được từ hình ảnh: các đối tượng,
sự kiện, quá trình trong môi trường thế giới thực xung quanh và xác lập vị trí củacác đối tượng này Hệ thống thị giác máy có các chức năng: nhận biết đối tượng;định vị đối tượng trong không gian; bám, điều hướng, theo dõi đối tượng chuyểnđộng; và đoán nhận hành vi của đối tượng
Hệ thống xử lý ngôn ngữ tự nhiên làm cho máy tính có khả năng hiểu và
phản ứng khi tiếp nhận câu nói và chỉ thị được biểu thị bằng ngôn ngữ tự nhiênnhư tiếng Việt, tiếng Anh… Xử lý ngôn ngữ tự nhiên là khu vực nghiên cứu TTNT
đã có quá trình phát triển lâu dài bảy thập kỷ, thu hút cộng đồng nghiên cứu đôngđảo trên thế giới và cả ở Việt Nam Xử lý ngôn ngữ tự nhiên gồm xử lý văn bản, xử
lý tiếng nói và xử lý tiếng nói – văn bản
Học thống học trong TTNT hướng tới máy tính có năng lực “học” (thu nhận tri
Trang 7đáp ứng khi nhận được thông tin phản hồi từ môi trường bên ngoài trong các tìnhhuống Học máy thống kê, đặc biệt là học sâu (deep learning), cùng với dữ liệu lớn,hiện đang là một xu hướng chủ chốt, tạo ra sự phát triển kỳ diệu của TTNT tronghơn một thập kỷ vừa qua Học chuyển đổi (transfer learning), học chuyển đổi sâu(deep transfer learning), học máy suốt đời (lifelong machine learning) là các kỹthuật học máy hiện đại, cho phép giải quyết vấn đề trong tình huống thiếu thông tinquan trọng hoặc xử lý tình huống mới.
Mạng nơ-ron là khu vực TTNT cho phép hệ thống máy tính mô phỏng hoạt
động giống như bộ não con người trong việc học mẫu dữ liệu và đoán nhận phânlớp đầu vào Hệ thống mạng nơ-ron thường sử dụng kiến trúc song song các bộ vi
xử lý mảng dựa trên một cấu trúc mạng giống như bộ não con người
1.4 Thành tựu TTNT
Các hệ thống TTNT giờ đây thường xuyên làm tốt hơn con người trong cácnhiệm vụ chuyên môn Các cột mốc quan trọng khi TTNT đầu tiên vượt qua nănglực của con người bao gồm: cờ vua (1997), giải câu đố (2011), trò chơi Atari(2013), nhận dạng hình ảnh (2015), nhận dạng giọng nói (2015), và Go (2016) Vàcác thành tựu nổi bật hiện nay là ô tô không người lái, smart home, Robot Sophia –công dân đầu tiên trên thế giới với trí thông minh vượt trội; máy tính thông minhAlphaGo đánh bại kỳ thủ cờ vây thế giới Lee Sedol với tỷ số chung cuộc 4:1,… Những thành tựu to lớn như vậy trong TTNT đã được thúc đẩy bởi một nền tảngmạnh mẽ của nghiên cứu cơ bản Những nghiên cứu này đang mở rộng và có khảnăng thúc đẩy tiến bộ trong tương lai
1.5 Machine learning và Deep learning
Trang 8Hình 2: Machine learning và Deep learning
Trang 91.5.1 Machine learning – Cách tiếp cận để chinh phục trí tuệ nhân tạo
TTNT bao gồm nhiều lĩnh vực nghiên cứu, từ thuật toán di truyền đến các hệthống chuyên gia và cung cấp phạm vi cho các lập luận về những gì cấu thànhTTNT
Trong lĩnh vực nghiên cứu TTNT, Machine Learning đã đạt được thành côngđáng kể trong những năm gần đây – cho phép máy tính vượt qua hoặc tiến gần đếnviệc kết hợp hiệu suất của con người trong các lĩnh vực từ nhận dạng khuôn mặtđến nhận dạng giọng nói và ngôn ngữ
Machine learning (ML) là một lĩnh vực nghiên cứu cho phép máy tính có khảnăng cải thiện chính bản thân chúng dựa trên dữ liệu mẫu (training data) hoặc dựavào kinh nghiệm (những gì đã được học) Machine learning có thể tự dự đoán hoặcđưa ra quyết định mà không cần được lập trình cụ thể
Bài toán machine learning thường được chia làm hai loại là dự đoán (prediction)
và phân loại (classification) Các bài toán dự đoán như dự đoán giá nhà, giá xe…Các bài toán phân loại như nhận diện chữ viết tay, nhận diện đồ vật…
1.5.2 Deep learning – Kỹ thuật để thực hiện hóa Machine learning
Một ví dụ về một nhiệm vụ Machine Learning đơn giản, nông cạn có thể dựđoán doanh số bán kem sẽ thay đổi như thế nào dựa trên nhiệt độ ngoài trời Việcđưa ra dự đoán chỉ sử dụng một vài tính năng dữ liệu theo cách này là tương đốiđơn giản và có thể được thực hiện bằng cách sử dụng một kỹ thuật MachineLearning gọi là hồi quy tuyến tính với độ dốc giảm dần
Vấn đề là hàng loạt vấn đề trong thế giới thực không phù hợp với những mô
Trang 10là nhận ra các số viết tay.Để giải quyết vấn đề này, máy tính cần phải có khả năngđối phó với sự đa dạng lớn trong cách thức trình bày dữ liệu Mỗi chữ số từ 0 đến 9
có thể được viết theo vô số cách: kích thước và hình dạng chính xác của mỗi chữ
số viết tay có thể rất khác nhau tùy thuộc vào người viết và trong hoàn cảnh nào
Đối phó với sự biến đổi của các tính năng này và sự lộn xộn tương tác lớn hơn
giữa chúng, là nơi Deep learning và mạng nơ ron trở nên hữu ích
1.5.2.1 Giới thiệu về mạng nơ ron ( Neural Network)
Mạng nơ-ron nhân tạo, đây là một chuỗi những thuật toán được đưa ra để tìmkiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu Thông qua việc bắt bướccách thức hoạt động từ não bộ con người Nói cách khác, mạng nơ ron nhân tạođược xem là hệ thống của các tế bào thần kinh nhân tạo Neural Network có khảnăng thích ứng được với mọi thay đổi từ đầu vào Do vậy, nó có thể đưa ra đượcmọi kết quả một cách tốt nhất có thể mà bạn không cần phải thiết kế lại những tiêuchí đầu ra
Kiến trúc mạng Nơ ron
Trang 11Hình 3: Kiến trúc mạng nơ ron
Mạng Neural Network là sự kết hợp của những tầng perceptron hay còn gọi làperceptron đa tầng Và mỗi một mạng Neural Network thường bao gồm 3 kiểu tầnglà:
● Tầng input layer (tầng vào): Tầng này nằm bên trái cùng của mạng, thểhiện cho các đầu vào của mạng
Trang 12● Tầng output layer (tầng ra): Là tầng bên phải cùng và nó thể hiện chonhững đầu ra của mạng.
● Tầng hidden layer (tầng ẩn): Tầng này nằm giữa tầng vào và tầng ra nó thểhiện cho quá trình suy luận logic của mạng
Lưu ý: Mỗi một Neural Network chỉ có duy nhất một tầng vào và 1 tầng ra nhưnglại có rất nhiều tầng ẩn
Với mạng Neural Network thì mỗi nút mạng là một sigmoid nơron nhưng chúng lại
có hàm kích hoạt khác nhau Thực tế, người ta thường sử dụng có cùng loại vớinhau để việc tính toán thuận lợi hơn Tại mỗi tầng, số lượng nút mạng có thể khácnhau còn tùy vào bài toán hoặc cách giải quyết
Tuy nhiên, khi làm việc người ta sẽ để các tầng ẩn số với số lượng nơron khácnhau Ngoài ra, những nơron nằm ở tầng thường sẽ liên kết đôi với nhau để tạothành mạng kết nối đầy đủ nhất Khi đó, người dùng có thể tính toán được kích cỡcủa mạng dựa vào tầng và số lượng nơ ron
Ứng dụng của Neural Network
Mạng nơ ron nhân tạo được ứng dụng cho rất nhiều lĩnh vực như: tài chính, giaodịch, phân tích kinh doanh, lập kế hoạch cho doanh nghiệp và bảo trì sảnphẩm Neural Network còn được sử dụng khá rộng rãi cho những hoạt động kinhdoanh khác như: dự báo thời tiết, và tìm kiếm các giải pháp nhằm nghiên cứu tiếpthị, đánh giá rủi ro và phát hiện gian lận
Nhiều trường hợp còn sử dụng mạng nơ ron nhân tạo để thực hiện đánh giá và khaiquật những cơ hội giao dịch dựa vào việc phân tích dữ liệu lịch sử Mạng nơroncòn được áp dụng rất phổ biến để phân biệt sự phụ thuộc giữa các phi tuyến lẫnnhau của đầu vào Đây là vấn đề mà các mô hình phân tích kỹ thuật khác không thể
Trang 13đáp ứng được Dù vậy, sự chính xác của việc áp dụng mạng nơron nhân tạo vào dựđoán giá cổ phiếu hoàn toàn khác nhau
Trang 14Chương 2-Mạng tích chập (CNN)2.1 Tại sao cần mạng tích chập?
Mạng nơ ron thông thường sẽ gặp vấn đề về số lượng weights khi xử lý ảnh làmtốn kém tài nguyên
Hình 4: Nhược điểm mạng nơ ron
Nhưng với CNN, một Nơ ron trong một lớp chỉ kết nối tới vài nơ ron gần nó củalayer trước vì vậy có thể tiết kiệm tài nguyên
Hình 5: Ưu điểm mạng nơ ron tích chập
Trang 152.2 Giới thiệu mạng tích chập
Mô hình mạng neural tích chập (CNN) là 1 trong những mô hình để nhận dạng
và phân loại hình ảnh Trong đó, xác định đối tượng và nhận dạng khuôn mặt là 1trong số những lĩnh vực mà CNN được sử dụng rộng rãi.CNN phân loại hình ảnhbằng cách lấy 1 hình ảnh đầu vào, xử lý và phân loại nó theo các hạng mục nhấtđịnh (Ví dụ: Chó, Mèo, Hổ, ) Máy tính coi hình ảnh đầu vào là 1 mảng pixel và
nó phụ thuộc vào độ phân giải của hình ảnh Dựa trên độ phân giải hình ảnh, máytính sẽ thấy H x W x D (H: Chiều cao, W: Chiều rộng, D: Độ dày)
Về kỹ thuật, mô hình CNN để training và kiểm tra, mỗi hình ảnh đầu vào sẽchuyển nó qua 1 loạt các lớp tích chập với các bộ lọc (Kernels), tổng hợp lại cáclớp được kết nối đầy đủ (Full Connected) và áp dụng hàm Softmax để phân loạiđối tượng có giá trị xác suất giữa 0 và 1 Hình dưới đây là toàn bộ luồng CNN để
xử lý hình ảnh đầu vào và phân loại các đối tượng dựa trên giá trị
Trang 16Hình 6: Mạng tích chập
Trang 172.3 Lớp tích chập - Convolution Layer
Tích chập là lớp đầu tiên để trích xuất các đặc trưng từ hình ảnh đầu vào Tíchchập duy trì mối quan hệ giữa các pixel bằng cách tìm hiểu các tính năng hình ảnhbằng cách sử dụng các ô vuông nhỏ của dữ liệu đầu vào
Xem xét 1 ma trận 5 x 5 có giá trị pixel là 0 và 1 Ma trận bộ lọc 3 x 3 như hìnhbên dưới
Hình 7: Ma trận 5x5 và bộ lọc 3x3
Sau đó, lớp tích chập của ma trận hình ảnh 5 x 5 nhân với ma trận bộ lọc 3 x 3 gọi
là 'Feature Map' như hình bên dưới
Trang 18Hình 8: Feature Map
Sự kết hợp của 1 hình ảnh với các bộ lọc khác nhau có thể thực hiện các hoạt độngnhư phát hiện cạnh, làm mờ và làm sắc nét bằng cách áp dụng các bộ lọc Ví dụdưới đây cho thấy hình ảnh tích chập khác nhau sau khi áp dụng các Kernel khácnhau
Trang 19Hình 9: Ví dụ các bộ lọc khác nhau
Trang 202.4 Bước nhảy - Stride
Stride là số pixel thay đổi trên ma trận đầu vào Khi stride là 1 thì ta di chuyểncác kernel 1 pixel Khi stride là 2 thì ta di chuyển các kernel đi 2 pixel và tiếp tụcnhư vậy Hình dưới là lớp tích chập hoạt động với stride là 2
Hình 10: Stride
2.5 Đường viền - Padding
Đôi khi kernel không phù hợp với hình ảnh đầu vào Ta có 2 lựa chọn:
● Chèn thêm các số 0 vào 4 đường biên của hình ảnh (padding)
● Cắt bớt hình ảnh tại những điểm không phù hợp với kernel
Trang 212.6 Hàm phi tuyến - ReLU
ReLU viết tắt của Rectified Linear Unit, là 1 hàm phi tuyến Với đầu ra là: ƒ (x)
= max (0, x,) có tác dụng đưa các giá trị âm về thành 0 tránh ảnh hưởng cho việctính toán ở các layer sau đó
Trang 22Hình 12: Ví dụ Max pooling
2.7 Ví dụ mạng CNN
Hình 13: Bài toán ví dụ
Mô tả:
-Ảnh đầu vào là ảnh màu có kích thước 28x28
- Lớp tích chập thứ nhất sử dụng mặt nạ tích chập kích thước 3x3, bước nhảy=1
và đường viền=l Thu được ảnh đầu ra gồm 32 ảnh có kích thước 28x28
Trang 23- Lớp maxpooling thứ nhất kích thước 2x2, bước nhảy=2 cho đầu ra là 32 ảnhkích thước 14x14.
- Lớp tích chập thứ hai sử dụng mặt nạ tích chập kích thước 3x3 bước nhảy=1 vàđường viền=l Thu được ảnh đầu ra gồm 64 ảnh có kích thước 14x14
- Lớp maxpooling thứ hai kích thước 2x2, bước nhảy=2 cho đầu ra là 64 ảnh kíchthước 7x7 Đây là lớp cuối cùng cho quá trình tích chọn đặc trưng của ảnh sửdụng mạng CNN này
-Đặc trưng trong 64 ảnh tạo thành 1 vector có độ dài 7*7*64=3136 Đây là giá trịđầu vào cho phần còn lại của mạng CNN
-Lớp full connect 1 gồm 128 nơ ron sau khi được phân lớp từ 3136 nodes dữ liệuđầu vào
-Lớp FC2 gồm 10 nơron tương ứng đầu ra, các neural sẽ cho biết xác suất tươngứng với các lớp đối tượng của dữ liệu đầu vào là các chữ số từ 1 đến 10