Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
1,46 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC - - BÁO CÁO CUỐI KÌ TRÍ TUỆ NHÂN TẠO Đà Nẵng, 30/11/2018 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KHOA TIN HỌC - - BÁO CÁO CUỐI KÌ TRÍ TUỆ NHÂN TẠO Đà Nẵng, 30/11/2018 TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1/ Khái niệm Trí tuệ nhân tạo ngành thuộc lĩnh vực khoa học máy tính người lập trình tạo nên với mục tiêu giúp máy tính tự động hóa hành vi thơng minh người Có loại: Strong AI: Có thể tạo thiết bị có trí thơng minh chương trình máy tính thơng minh người Weak AI: Chương trình máy tính mơ hành vi thông minh người 2/ Bốn quan điểm trí tuệ nhân tạo Suy nghĩ người Hành động người Suy nghĩ có lý trí Hành động có lý trí 3/ So sánh lập trình hệ thống lập trình trí tuệ nhân tạo LẬP TRÌNH HỆ THỐNG LẬP TRÌNH AI Dữ liệu + Thuật tốn = Chương Trình Xử lý liệu Dữ liệu nhớ đánh địa số Tri thức + Điều khiển = Chương trình Xử lý liệu định tính Xử lý dựa tri thức cho phép dùng thuật giải Heurictic, chế suy diễn Tri thức cấu trúc hóa, để nhớ làm việc theo ký hiệu Định hướng xử lý đại lượng định tính, ký hiệu tượng trưng danh sách Xử lý theo chế độ tương tác Xử lý theo thuật toán Định hướng xử lý theo đại lượng, định lượng số Xử lý theo mẻ Khơng giải thích q trình thực Có giải thích hành vi hệ thống trình thực Kết xác, khơng mắc lỗi Kết tốt, cho phép mắc lỗi 4/ Các lĩnh vực trí tuệ nhân tạo Tâm lý học nhận thức Thần kinh học Lý thuyết hệ thống Toán logic logic học Sinh học tiến hóa Khoa học hành vi bầy đàn Tổ chức học Thống kê học … 5/ Ứng dụng trí tuệ nhân tạo Trò chơi Xử lý ngôn ngữ tự nhiên giao diện người máy Lập luận giải vấn đề tự động Chuẩn đốn y khoa Phân tích hóa chất Thiết kế kĩ thuật Các kí hiệu tốn học Nhìn nhận dạng Xử lý âm thanh, tiếng nói 10.Cuộc sống nhân tạo … 6/ Một số ví dụ sử dụng thành cơng trí tuệ nhân tạo Chương trình chơi cờ máy Deep Blue đánh bại đại kiện tướng Kasparov (1997) Hệ chuyên gia MYCIN không thua chuyên gia người việc chuẩn đoán bệnh Máy nhận dạng mắt người sân bay Heathrow Chương trình lập lịch điều khiển thông minh xe tự hành Robot tự hành NASA Chương trình nhận dạng khn mặt ứng dụng facebook Chiến tranh mô máy tính … MACHINE LEARNING 1/ Khái niệm Có khái niệm Machine Learning (học máy) Là lĩnh vực nhỏ khoa học máy tính, có khả tự học hỏi dựa liệu đưa vào mà khơng cần phải lập trình cụ thể (Theo Arthur Samuel) Machine Learning Là chương trình máy tính nói học hỏi từ kinh nghiệm E từ tác vụ T với độ đo hiệu suất P Nếu hiệu suất áp dụng tác vụ T đo lường độ đo P tăng từ kinh nghiệm E (Theo giáo sư Tom Mitchell – carnegie mellon university) 2/ Các ứng dụng machine learning Xe tự lái, giảm thiểu tai nạn google Nhận diện lừa đảo Quảng cáo theo thời gian thực trang web thiết bị di động Nhận dạng qua pattern (mẫu) hình ảnh Một ứng dụng phổ biến machine learning việc nhận dạng pattern (mẫu) sử dụng để nhận nhiều loại hình ảnh khác 3/ Ví dụ sử dụng machine learning Giả sử bạn muốn máy tính xác định tin nhắn có phải SPAM hay không Tác vụ T: xác định tin nhắn có phải SPAM hay khơng? Kinh nghiệm E: xem lại tin nhắn đánh dấu spam xem có đặc tính để xác định spam Độ đo P: phần trăm số tin nhắn spam phân loại Machine learning sử dụng mơ hình thống kê để "ghi nhớ" lại phân bố liệu Tuy nhiên, khơng đơn ghi nhớ, machine learning phải có khả tổng qt hóa nhìn thấy đưa dự đoán cho trường hợp chưa nhìn thấy 4/ Các đối tượng sử dụng machine learning Các dịch vụ tài Chính phủ Chăm sóc sức khoẻ Dầu khí Vận tải 5/ Làm để có hệ thống machine learning tốt ? Khả chuẩn bị liệu Thuật toán – & nâng cao Quy trình tự động quy trình lặp lại Khả scale Ensemble modelinG 6/ Một số method tiêu biểu machine learning Supervised Learning (học có giám sát) Là kĩ thuật học máy để học tập từ tập liệu gán nhãn cho trước Tập liệu cho trước chứa nhiều liệu Mỗi liệu có cấu trúc theo cặp {x, y} với x xem liệu thô (raw data) y nhãn liệu Nhiệm vụ SL dự đoán đầu mong muốn dựa vào giá trị đầu vào Học dựa vào trợ giúp người SUPERVISED LEARNING áp dụng cho nhóm tốn tốn dự đốn (regression problem) toán phân lớp (classification problem) UNSUPERVISED LEARNING (học không giám sát) kĩ thuật máy học nhằm tìm mơ hình hay cấu trúc bị ẩn bơi tập liệu KHÔNG gán nhãn cho trước Unsupervised learning khác với supervised learning xác định trước output từ tập liệu huấn luyện Tùy thuộc vào tập huấn luyện kết output khác Máy tự động học không cần trợ giúp người giá trị đầu phụ thuộc vào thuật toán unsupervised learning SEMISUPERVISED LEARNING (học bán giám sát) REINFORCEMENT LEARNING (học tăng cường) CLASSIFICATION 1/ Khái niệm • Classification việc sử dụng input tập mẫu liệu huấn luyện, với nhãn phân lớp cho mẫu liệu Output mơ hình (bộ phân lớp) dựa tập huấn luyện nhãn phân lớp • Hệ thống classification để dự đoán nhãn phân lớp cho liệu/mẫu 2/ Quy trình tổng quan cho việc phân lớp 2.1 Xây dựng mơ hình từ tập huấn luyện • Mỗi / mẫu liệu phân vào lớp xác định trước • Lớp / mẫu liệu xác định thuộc tính gán nhãn lớp • Tập / mẫu liệu huấn luyện-tập huấn luyện dùng để xây dựng mơ hình • Mơ hình biểu diễn luật phân lớp, định cơng thức tốn học 2.2 Sử dụng mơ hình • Kiểm tra tính đắn mơ hình dùng nói để phân lớp liệu • Phân lớp cho đối tượng chưa phân lớp • Đánh giá độ xác mơ hình • Lớp biết trước mẫu/bộ liệu đem kiểm tra • Được so sánh với kết thu từ mơ hình • Tỉ lệ xác = phần trăm mẫu/bộ liệu • Được phân lớp mơ hình số lần kiểm tra 2.3 Kiểm tra liệu với mơ hình (make prediction) Ta đưa vào liệu để kiểm tra mơ hình phân lớp 2.4 Đánh giá mơ hình phân lớp chọn mơ hình tốt • Đánh giá mơ hình cách đánh giá mức độ lỗi liệu testing liệu traning thơng qua mơ hình tìm • Nếu khơng đạt kết mong muốn phải thay đổi tham số (turning parameter) thuật tốn học để tìm mơ hình tốt kiểm tra, đánh giá lại mơ hình phân lớp Từ chọn mơ hình phân lớp tối ưu cho toán 3/ Các thuật ngữ classification Feature: Là mẫu/đối tượng, bao gồm thuộc tính(feature, attribute), dùng training set testing set Sample: Là thuộc tính đối tượng, dùng để phân loại đối tượng vào lớp(lable/class) khác Training Dataset: Là tập liệu dùng cho việc huấn luyện máy học, có thơng số cụ thể, có gắn sẵn nhãn(label/class) Training set gồm phần: • input: liệu đầu vào Những thuộc tính(feature, attribute) • output: kết mạng perceptron tương ứng với tập input Với tốn phân loại output nhãn(label/class) Testing Dataset: Là tập liệu độc lập với training set, dùng để kiểm thử độ xác mơ hình máy học sau huấn luyện Khác với training set, testing set có giá trị input mà khơng có giá trị output, với tốn phân loại output nhãn(label/class) Máy tính nhận giá trị input, xử lý đưa giá trị output tương ứng cho giá trị input Confusion matrix: Thể có điểm liệu thực thuộc vào class, dự đoán rơi vào class Feature Selection: Giảm chiều liệu, lựa chọn thuộc tính đặc trưng đối tượng để máy học Feature Reduction: Dùng phương pháp PCA chiếu kết từ không gian to sang không gian nhỏ để dễ dàng đưa kết luận Validation: Là tập hợp khác liệu đầu vào mà áp dụng thuật tốn học máy để xem xác cách xác định mối quan hệ kết biết cho biến mục tiêu tính khác tập liệu k-fold cross validation: Là phương pháp thống kê sử dụng để ước tính kỹ mơ hình học máy 10.visualization: Trực quan hóa kết quả, tốn phân lớp thường trực quan cách cho kết lên mơ hình 2D MẠNG NƠ RON NHÂN TẠO ARTIFICIAL NEURAL NETWORKS (ANN) 1/ Khái niệm Mạng neruron nhân tạo (ANN) mơ hình làm việc máy tính dựa cấu trúc chức mạng neuron sinh học, tập hợp xử lý đơn giản neuron nối với 2/ Mơ hình tổng quan mạng nơ ron nhân tạo Mạng neuron nhân tạo (artificial neural netwok – ANN): tập hợp xử lý đơn giản – neuron – nối với Cấu trúc phương thức hoạt động ANN mô tương tự mạng neuron sinh học Input: Mỗi input tương ứng với thuộc tính (attribute) liệu (patterns) Ví dụ ứng dụng ngân hàng xem xét có chấp nhận cho khách hàng vay tiền hay khơng input thuộc tính khách hàng thu nhập, nghề nghiệp, tuổi, số con,… Output: Kết ANN giải pháp cho vấn đề, ví dụ với tốn xem xét chấp nhận cho khách hàng vay tiền hay khơng output yes (cho vay) no (không cho vay) Hidden Layer Gồm nơron nhận liệu input từ nơron lớp (layer) trước chuyển đổi input cho lớp xử lý Trong ANN có nhiều lớp ẩn Connection Weights (Trọng số liên kết) : Đây thành phần quan trọng ANN, thể mức độ quan trọng (độ mạnh) liệu đầu vào q trình xử lý thơng tin (q trình chuyển đổi liệu từ layer sang layer khác) Quá trình học (learning processing) ANN thực trình điều chỉnh trọng số (weight) input data để có kết mong muốn Summation Function (Hàm tổng): Tính tổng trọng số tất input đưa vào neuron (phần tử xử lý PE) Hàm tổng neuron n input tính theo cơng thức sau: Y(p) = step[ ∑𝒏𝒊=𝟏 𝑾𝒊𝑿𝒊(𝒑) − 𝜽 ] Transfer Function (Hàm chuyển đổi): Hàm tổng (summation function) nơron cho biết khả kích hoạt (activation) nơron gọi kích hoạt bên (internal activation) Các nơron sinh output khơng ANN (nói cách khác output nơron chuyển đến layer tiếp mạng nơron không) Mối quan hệ internal activation kết (output) thể hàm chuyển đổi (transfer function) 10 3/ Thuật toán perceptron Luật học Bước 1: khởi tạo (w1, w2,…, wn, t) [-0.5, 0.5] Bước 2: kích hoạt tính kết xuất thực lần lặp p = Y(p) = step[ ∑𝒏𝒊=𝟏 𝑾𝒊𝑿𝒊(𝒑) − 𝜽 ] Bước 3: cập nhật trọng số: wi(p+1) = wi(p) + ∆wi(p) Trong ∆wi(p) = a * xi(p) * e(p) Tăng p lên đơn vị quay lại bước Ví dụ Mạch AND có input output, input x1, x2x1, x2 output 11 Cơng việc cần làm lựa chọn(ω1,ω2,θ) cho thỏa mãn hình Ví dụ (ω1, ω2, θ) = (0.5, 0.5, 0.7) Với parameter này, x1,x2 tổng > θ output y = Nhược điểm thuật toán perceptron Chỉ chạy ma trận tuyến tính, khơng giải tốn XOR 12 4/ Thuật tốn multilayer perceptron Luật học • Bước 1: Khởi tạo Đặt giá trị ngẫu nhiên trọng số ngưỡng mạng • Bước 2: Kích hoạt a) tính kết xuất thực neuron lớp ẩn: Yj = sidmoid[ ∑𝒏𝒊=𝟏 𝑿𝒊(𝒑) ∗ 𝑾𝒊𝒋(𝒑) − 𝜽j ] b) Tính kết xuất thực neuron lớp xuất: Yk = sidmoid[ ∑𝒏𝒋=𝟏 𝑿𝒋𝒌(𝒑) ∗ 𝑾𝒋𝒌(𝒑) − 𝜽k ] • Bước 3: Huấn luyện trọng số a) Tính gradient sai số cho neuron lớp xuất: 13 Cập nhật trọng số neuron lớp xuất: b) Tính gradien sai số cập nhật trọng số lớp ẩn Bước 4: Lặp 14 APPLICATION 1/ Mô tả liệu Tập liệu dùng project tập data iris Một tập liệu gồm có 150 sample chia thành lớp khác nhau, lớp có 50 sample tiêu biểu Mỗi sample có feature class 1.1 Cách phân chia liệu training/testing Từ tập iris.arff cho random liệu để liệu trải sau ,phân chia liệu theo train dataset 80% phần lại 20% test dataset 1.2 Feature selection 1.2.1 Plot liệu với features Khi thực với features petal length petal width ta nhận accuracy: 77.7778% Hiển thị dạng visualize: 15 Khi thực với features petal length petal width ta nhận accuracy: 93.3333% Hiển thị dạng visualize: 1.2.2 Dùng đầy đủ features Khi thực với full feature ta nhận accuracy: 96.6667% Hiển thị dạng visualize: 16 2/ Ứng dụng ANN cho toán phân lớp tập liệu iris 2.1 Xác định thuật toán Code theo multilayer perceptron 2.2 Kết Kết với features gốc Trường hợp dùng full features với tập liệu đưa vào tập iris.arff cho kết báo cáo sau: 17 2.3 View Code 18 ModelGenerator.java 19 Test.java 20 MỤC LỤC TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1/ Khái niệm 2/ Bốn quan điểm trí tuệ nhân tạo 3/ So sánh lập trình hệ thống lập trình trí tuệ nhân tạo 4/ Các lĩnh vực trí tuệ nhân tạo 5/ Ứng dụng trí tuệ nhân tạo 6/ Một số ví dụ sử dụng thành cơng trí tuệ nhân tạo MACHINE LEARNING 1/ Khái niệm 2/ Các ứng dụng machine learning 21 3/ Ví dụ sử dụng machine learning 4/ Các đối tượng sử dụng machine learning 5/ Làm để có hệ thống machine learning tốt ? 6/ Một số method tiêu biểu machine learning CLASSIFICATION 1/ Khái niệm 2/ Quy trình tổng quan cho việc phân lớp 2.1 Xây dựng mơ hình từ tập huấn luyện 2.2 Sử dụng mơ hình 2.3 Kiểm tra liệu với mô hình (make prediction) 2.4 Đánh giá mơ hình phân lớp chọn mơ hình tốt 3/ Các thuật ngữ classification MẠNG NƠ RON NHÂN TẠO ARTIFICIAL NEURAL NETWORKS (ANN) .9 1/ Khái niệm 2/ Mơ hình tổng quan mạng nơ ron nhân tạo 3/ Thuật toán perceptron 11 4/ Thuật toán multilayer perceptron 13 APPLICATION 15 1/ Mô tả liệu 15 1.1 Cách phân chia liệu training/testing 15 1.2 Feature selection 15 1.2.1 Plot liệu với features 15 1.2.2 Dùng đầy đủ features 16 2/ Ứng dụng ANN cho toán phân lớp tập liệu iris 17 2.1 Xác định thuật toán 17 2.2 Kết 17 2.3 View Code 18 22 ... HỌC - - BÁO CÁO CUỐI KÌ TRÍ TUỆ NHÂN TẠO Đà Nẵng, 30/11/2018 TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1/ Khái niệm Trí tuệ nhân tạo ngành thuộc lĩnh vực khoa học máy tính người lập trình tạo nên với... thống lập trình trí tuệ nhân tạo 4/ Các lĩnh vực trí tuệ nhân tạo 5/ Ứng dụng trí tuệ nhân tạo 6/ Một số ví dụ sử dụng thành cơng trí tuệ nhân tạo ... cho kết báo cáo sau: 17 2.3 View Code 18 ModelGenerator.java 19 Test.java 20 MỤC LỤC TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO 1/ Khái niệm 2/ Bốn quan điểm trí tuệ nhân tạo