Professional Documents
Culture Documents
Ai - CNTT K42
Ai - CNTT K42
Artificial Intelligence
1
Nội dung chương trình
2
Tài liệu tham khảo
4
(Hình ảnh)
5
Trí tuệ nhân tạo (AI): giới thiệu
• Thành tựu hiện tại
• AI: là gì?
• AI: tại sao nên sử dụng?
• AI/DL: tương quan với con người
6
Thành tựu hiện tại
Đọc văn bản & nhận dạng tiếng nói
Rất tốt
Sản phẩm: Google; ViettelAI, Zalo, v.v.
Hiểu ngôn ngữ tự nhiên:
Rất khá
Sản phẩm: Siri@Apple, Ms. Sophia, v.v.
Hình ảnh:
Rất tốt
Ứng dụng:
Nhận dạng (Face), Sinh ảnh, Phát hiện và phân tích hành vi
đối tượng, v.v.
Phân tích ảnh y khoa
Robot di chuyển như người, tự hành
Rất khá
7
Thành tựu hiện tại
Từ khá đến rất tốt cho phân tích các
dạng tín hiệu khác nhau:
Hình ảnh, video
Âm thanh, chuỗi thời gian (điện tim/não)
Văn bản
8
Trí tuệ nhân tạo là gì?
9
(*)Các thự c thể nhân tạ o
Trí tuệ nhân tạo là gì?
10
…
Trí tuệ nhân tạo là gì?
11
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950
12
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950
Suy diễn là khả năng yếu nhất hiện nay của AI.
Vui hay không?
14
Trí tuệ nhân tạo là gì?
Tầm nhìn từ ~1950
Học, 3
Học 2 4
nữa,
Học
1 5
mãi.
6
Học
máy
15
Trí tuệ nhân tạo là gì?
16
AI: Tại sao sử dụng?
1. Dữ liệu lớn
1
Sự thúc đẩ y từ dữ liệu
Dùng AI để phân tích dữ liệu Dùng dữ liệu cho huấn luyện trong AI
AI
+ Nhãn dữ liệu
18
AI: Tại sao sử dụng?
1. Dữ liệu lớn
1
Sự thúc đẩ y từ dữ liệu
ImageNet Large Scale Visual Recognition Challenge (ILSVRC)
NVIDIA V100
Xử lý dữ liệu nhanh
NVIDIA T4
21
Nguồn: https://www.hardwarezone.com.sg/
AI: Tại sao sử dụng?
2 2. Công nghệ tính toán mới
Sự hỗ trợ từ máy móc
Học sâu:
• Tăng độ chính xác
• Thích nghi tốt với dữ liệu và tình huống chưa gặp (học bổ sung)
• Dễ sử dụng (end-to-end)
• Thống nhất cách tiếp cận cho các nhánh của AI (All-in-one)
23
AI: Tại sao sử dụng?
3 3. Kỹ thuật học mới – Học sâu (deep
learning)
Dữ liệu x y
Mạng học sâu
y = fw(x)
Mạng nơron học sâu = hàm tóan học y = fw(x);
Nó ánh xạ dữ liệu đầ u vào x ra kết quả mong muố n y
Huấ n luyện mạ ng =
tìm bộ hệ số w để hàm khớ p đượ c vớ i dữ liệu huấ n luyện
24
AI: Tại sao sử dụng?
3 3. Kỹ thuật học mới – Học sâu (deep
learning)
Dữ liệu x y
Mạng học sâu
y = fw(x)
x y
25
AI: Tại sao sử dụng?
3 3. Kỹ thuật học mới – Học sâu (deep
learning)
Dữ liệu x y
Mạng học sâu
y = fw(x)
26
AI: Tại sao sử dụng?
3.
3 Kỹ thuật học mới – Học sâu (deep
learning)
Kết quả cuộc thi về nhận dạng ảnh (ILSVRC)
Học qua loa, không sâu Hiện tượng không hội tụ về điểm tối ưu
(họcnhanh,hệsốhọclớn)
Cần học tập chủ động Cần học tập chủ động
Bài khó cần học nhiều lần hơn Mẫu dữ liệu khó học nhiều lần hơn
29
AI/DL ~ con người
Phương pháp: học tập chủ động Phương pháp: học tập chủ động
cần tăng dần mức độ từ nhỏ cần tăng dần mức độ theo thời gian
lớn
Phương pháp đánh giá Cần sử dung hàm tổn thất và thưởng
ảnh hưởng lớn chất phạt phù hợp
lượng dạy/học
Khoảng cách nội dung học tập (tổ Phân phối của các tập huấn luyện, kiểm
chức đào tạo) vs công việc thực thử và kiểm tra
tiễn 30
(công nghiệp)
31
I-Lịch sử phát triển của AI
32
1. Trò chơi:
33
Khó khăn
34
2. Hệ chuyên gia
35
Những hệ chuyên gia nổi tiếng
37
3. Điều khiển mờ
38
39
40
Khó khăn
41
II. Khái niệm về trí tuệ nhân tạo
42
Định nghĩa
43
Mô hình ứng dụng của AI
• Mục đích của AI. Tạo nên các tác tử (Agent) dựa trên tri thức
+Lập luận/tư duy: Logic toán (Tất định, ngẫu nhiên, mờ, có
yếu tố thời gian)
+Giải bài toán (Problem solving): Tìm kiếm, Giải pháp tương
tự (Cases based reasoning), Điều khiển học
47
Ví dụ về Agent dựa trên tri thức
48
Chương 1.
CÁC CHIẾN LƯỢC TÌM KIẾM MÙ
49
I. Biểu diễn vấn đề trong KG trạng thái.
1) Bài toán có thể phân rả thành các bài toán con dễ giải hơn
không?
2) Các bước giải của bài toán có thể bỏ qua hay hủy bỏ không?
3) Không gian bài toán có thể đoán trước không?
4) Có tiêu chuẩn để xác định một lời giải nào đó là tốt với bài toán
hay không?
5) Có cần đến tri thức để giải quyết bài toán hay điều khiển quá trình
tìm kiếm không?
6) CSTT dùng để giải quyết bài toán có nhất quán với nội dung
không?
7) Có cần tương tác người máy trong quá trình giải quyết không?
51
Ví dụ (trò chơi 8 số) n2-1, n>2
52
Bài toán: 8 số
Có khả năng xảy ra
vòng lặp không?
53
Bài toán tìm đường đi
56
Tập hợp tất cả các trạng thái mở rộng từ
trạng thái u được ký hiệu là S(u).
Mở rộng từ trạng thái ban đầu, bằng các
tóan tử, cuối cùng thu được một không gian
trạng thái (KGTT).
57
Định nghĩa
58
Biểu diễn KGTT
60
Chiến lược tìm kiếm?
Khi tìm kiếm lời giải, từ một trạng thái nào đó chưa
phải là trạng thái đích, ta dựa theo toán tử sinh ra
tập các trạng thái mới: mở rộng.
Để được lời giải, ta phải liên tục chọn trạng thái mới,
mở rộng, kiểm tra cho đến khi tìm được trạng thái
đích hoặc không mở rộng được KGTT.
Tập các trạng thái được mở rộng sẽ có nhiều phần
tử, việc chọn trạng thái nào để tiếp tục mở rộng
được gọi là chiến lược tìm kiếm.
61
Đánh giá một chiến lược?
62
Thông tin mỗi nút?
63
II. Các chiến lược tìm kiếm mù
64
Tìm kiếm mù?
65
1. Tìm kiếm theo chiều rộng (BFS)
66
Ví dụ
67
Thuật toán BFS
procedure bfs;
begin
open:=[start]; closed:=[];
while open<>[] do
begin
loại tt ngoài cùng bên trái của open, gọi nó là u
if (u là một đích) then thông báo kết quả, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con đã có trong open+closed
Đưa các con còn lại vào bên phải open (1)
end
end
Thông báo thất bại
End
68
Nhận xét
Các trạng thái con phát sinh nhờ các toán tử hợp lệ.
Danh sách open bổ sung phần tử bên phải, lấy phần
tử bên trái.
Thuật tóan khảo sát tất cả các nút ở độ sâu d sau đó
mới đến mức d+1 nên chắc chắn tìm được nghiệm.
Nếu vô nghiệm và KGTT hữu hạn thì thuật toán sẽ
dừng và thông báo vô nghiệm.
Để lưu được nghiệm, cần giữ nút cha của các nút
được khảo sát.
69
Đánh giá
70
71
2. Tìm kiếm theo chiều sâu (DFS)
72
Thuật toán DFS
procedure bfs;
begin
open:=[start]; closed:=[];
while open<>[] do
begin
loại tt u ngoài cùng bên trái của open
if (u là một đích) then thông báo kết quả, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con đã có trong open+closed
Đưa các con còn lại vào bên trái open (1)
end
end
Thông báo thất bại
End
73
Nhận xét
74
Hạn chế
75
3. Tìm kiếm với độ sâu hạn chế
76
Nhận xét
77
Thuật toán
procedure DFS(d);
begin
open:=[start]; closed:=[]; depth(start):=0;
while open<>[] do
begin
loại u ngoài cùng bên trái open
if (u là một đích) then thbáo kết quả, thoát
else
78
begin
Đưa u vào closed
If depth(u)<d then begin
Phát sinh các con v của u
Loại các con vừa phát sinh đã có trong open+ closed
Gán độ sâu cho các v bằng depth(u)+1
Đưa các con v còn lại vào bên trái open
End;
End;
End; {while}
Thông báo thất bại
End.
79
Khó khăn d?
80
4. Tìm kiếm sâu dần
81
Nhận xét
82
Thuật toán
procedure DFS1;
begin
for d:=0 to max do
begin
DFS(d);
If thành công then exit
End;
End;
83
Đánh giá
84
Chương 3.
CÁC CHIẾN LƯỢC TÌM KIẾM
KINH NGHIỆM
85
Nguyên nhân
86
1. Hàm đánh giá
87
Khái niệm về hàm đánh giá
88
Ví dụ
89
Hình thức hóa
90
Tính h(D), h(E)
91
Nhiều cách XD hàm h
h(D)=h(E)=2
Về mặt đường đi qua các ô ngang dọc để di chuyển
về đúng vị trí thì (D) phải di chuyển đọan đường xa
hơn (E) nên có thể là (D) không tốt bằng (E).
Theo nhận xét này, ta có thể xây dựng hàm h bằng
tổng khoảng cách phải di chuyển của các ô sai vị trí.
Ví dụ: h1(D)=3+3 = 6, h1(E)=2+2=4
Một ví dụ khác là lấy độ dài đường chim bay !
92
Các bước
93
II. Các chiến lược tìm kiếm kinh
nghiệm.
94
a) Tìm kiếm leo đồi – Hill Climbing
Search (Pearl, 1984)
Chọn một trạng thái tốt hơn trạng thái đang khảo sát
để phát triển. Nếu không có thuật tóan phải dừng.
Nếu chỉ chọn một trạng thái tốt hơn: leo đồi đơn
giản, trạng thái tốt nhất: leo đồi dốc đứng.
Sử dụng hàm h để biết trạng thái nào tốt hơn.
Khác với tìm kiếm sâu, leo đồi không lưu tất cả các
con mà chỉ lưu đúng một t.thái được chọn nếu có.
95
Thuật toán HCS
procedure hcs(start);
begin
open:=[start]; closed:=[];
while open<>[] do
begin
loại tt ngoài cùng bên trái của open, gọi nó là u
if (u là một đích) then thông báo kết quả, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con đã có trong open+closed
Chọn con tốt nhất và hơn u đưa vào bên trái
open
end
end
Thông báo thất bại
End
96
97
Hoạt động của thuật toán…
98
Nhanh, có thể thất bại
99
Tìm kiếm ưu tiên tốt nhất – Best First
Search (Best-FS)
10
Ví dụ
10
10
Thuật toán Best_FS
procedure Best_FS;
begin
open:={u0}; closed:={ };
while open<>{ } do
begin
loại trạng thái ngoài cùng bên trái của open, gọi nó là u
if (u là một đích) then thông báo thắng lợi, thoát
else begin
Đưa u vào closed
Phát sinh các con v của u
Loại các con v đã có mặt trong open + closed
Đưa các con còn lại vào open
Sắp xếp open sao cho phần tử tốt nhất nằm bên trái
end
end
Thông báo thất bại
end
10
Phương án lưu nghiệm
10
Chương 3.
CÁC CHIẾN LƯỢC TÌM KIẾM TỐI ƯU
10
Lý do
Trong các chiến lược tìm kiếm trên, chúng ta chưa
quan tâm đến độ dài hay chi phí của đường đi
nghiệm.
Trong thực tế, đây là một yếu tố quan trọng vì ý
nghĩa của nghiệm tìm được phụ thuộc vào yếu tố
này.
Ví dụ như số bước đi của một người chơi cờ. Chi
phí một hành trình trong bài toán người du lịch.
Vì vậy chúng ta không chỉ quan tâm đến việc tìm ra
nghiệm mà còn phải quan tâm đến việc nghiệm đó
có tối ưu hay không.
10
KGTT trong bài toán tối ưu phải có thêm
trọng số của các cung.
Chúng ta đã phân tích các chiến lược từ tìm
kiếm mù, tìm kiếm kinh nghiệm và biết được
những ưu nhược điểm của từng chiến lược.
Best-FS là chiến lược tìm kiếm linh hoạt nhất
cho đến lúc này, cải tiến chiến lược này để
giải quyết vấn đề tối ưu.
10
1. Hàm đánh giá cải tiến.
10
Giải thuật A*
11
Mỗi trạng thái u tùy ý sẽ gồm bốn yếu tố
(g(u), h(u), f(u), cha(u)). Trong đó:
G(u), h(u), f(u) đã biết
Cha(u) là nút cha của nút u
11
Mô tả hoạt động của A*
11
Lưu các trạng thái
Giải thuật dừng ở bước 6 và đường đi thu được độ dài 5 như sau
A-D-B-C-G.
11
Chi tiết các bước
11
Chú ý
11
Giải thuật A*
procedure A*(uo);
begin
g(uo)=0; f(uo)=h(uo);
open:=[uo]; closed:=[];
11
while open<>[] do
begin
loại u ngoài cùng bên trái của open
Đưa u vào closed;
if (u là một đích) then thông báo thắng lợi,
thoát else
11
begin
Sinh các con v của u;
For v thuộc con(u) do begin
g(v):=g(u)+c[u,v];
If v không thuộc open hay closed
begin
f(v):=g(v)+h(v);
cha(v):=u;
Bỏ v vào open;
end
11
If v thuộc open (tồn tại v’ thuộc open, sao cho
v=v’)
If g(v)<g(v’) then
Begin
g(v’):=g(v);
f(v’):=g(v’)+h(v’);
Cha(v’):=u;
End;
12
If v thuộc closed (tồn tại v’ thuộc closed, sao cho v=v’)
If g(v)<g(v’) then
Begin
f(v):=g(v)+h(v);
cha(v):=u;
Đưa v vào open;
Loại v’ khỏi closed;
End;
12
End;{for}
Xếp open để t.thái tốt nhất nằm bên
trái;
End{else}
End;{while}
Thông báo thất bại
End;{procedure}
12
Bài tập: Tìm đường đi nn từ A tới Z
123
Bài tập
124
Kết quả.
12
I.Trò chơi và tìm kiếm trên cây trò chơi
Đặc điểm:
Hai người thay phiên đi (xen kẽ)
Hai người biết thông tin đầy đủ về nhau
Mỗi người tìm kiếm nước đi
Nước đi tốt nhất là nước đi dẫn đến phần
thắng.
Biểu diễn KGTT bằng cây: cây trò chơi.
12
II.Thủ tục Minimax cơ bản
12
Ví dụ: trò chơi Nim
12
Phân tích
13
Giả sử MAX là máy tính, MIN là
người chơi
13
Quy tắc gán trị cho các nút khác lá
// MIN đưa MAX vào thể khó nhất, tức là khi MIN
thắng sẽ gán nút lá trên MAX=0
Function MinVal(u);
Begin
If u là nút lá then MinVal(u):=f(u)
Else MinVal(u):=min{MaxVal(v) | v là các
con của u}
End;
13
Thủ tục chọn nước đi cho MAX
// v là nút kết quả trả về được chọn, chọn sao cho lợi thể nằm ở
MAX, tìm hướng đi MAX giá trị càng lớn:
Procedure Minimax(u, var v);
Begin
Val:= -oo;
For mỗi con w của u do
If val<=MinVal(w) then begin
Val:=MinVal(w);
v:=w;
End;
End;
13
Bài tập
13
III. Minimax với độ sâu hạn chế
13
Ví dụ: hạn chế độ sâu d=3
14
Độ sâu d, u thuộc lớp MAX
14
Trường hợp u thuộc lớp MIN
Function MinVal(u,d);
Begin
If d=0 hoặc u là đỉnh kthúc then
MinVal(u):=f(u)
Else MinVal(u):=min{MaxVal(v,d-1) | v
là các con của u}
End;
14
Thủ tục chọn nước đi cho MAX
14
Định giá nút lá thế nào?
14
Ví dụ: cờ vua
14
Chương trình chơi cờ của Samuel
14
Trò chơi Dodgem
14
Luật chơi
Có hai quân trắng và hai quân đen trên bàn cờ 3x3.
Quân đen không qua được bên trái mà chỉ di chuyển
lên trên, xuống dưới hoặc qua phải.
Quân trắng không đi xuống dưới mà chỉ lên trên qua
trái hoặc qua phải.
Quân đen chỉ được ra khỏi bàn cờ nếu đang đứng ở
cột cuối cùng, quân trắng chỉ được ra khỏi bàn cờ
nếu đang đứng ở dòng trên cùng.
Đấu thủ thắng cuộc nếu đưa hết 2 quân của mình ra
khỏi bàn cờ hoặc làm cho đối phương không đi
được.
14
KGTT
14
Định giá cho nút ở độ sâu d?
15
Chính xác hơn?
15
Số quân?
15
IV. Thủ tục cắt nhánh alpha-beta
15
Thủ tục anpha-beta
15
Ví dụ
15
Cơ sở của thủ tục
15
Cụ thể
15
Định giá cho nút u lớp Max
15
Định giá cho nút u - lớp Min
15
Thủ tục hướng dẫn nước đi cho Max
16
Phần 2.
BIỂU DIỄN TRI THỨC VÀ LẬP LUẬN
16
Biểu diễn tri thức này thế nào?
16
Dữ liệu, Thông tin, Tri thức (1)
Dữ liệu (data) thường được định nghĩa là các sự kiện
(facts) hoặc các ký hiệu (symbols)
Thông tin (information) thường được định nghĩa là dữ
liệu đã được xử lý hoặc chuyển đổi thành những dạng
hoặc cấu trúc phù hợp cho việc sử dụng của con người
Thu được sau khi loại bỏ những thứ dư thừa và giữ lại phần cốt
lõi.
Thông tin
Là những gì con người cảm nhận được
Tri thức
Là sự chắc lọc của thông tin
Các định luật, tiên đề là tri thức mang tính khẳng định
Các quy trình điều chế, thuật toán là tri thức mang tính thủ tục
Các nhận định, kết luận về sự kiện hiện tượng là tri thức mô tả
Các suy đoán, ước lượng dựa trên kinh nghiệm là tri thức heuristic
Biễu diễn tri thức: Phương pháp, kỹ thuật đưa tri thức lên máy
tính
Trí Tuệ Nhân Tạo
16
4
Biểu diễn tri thức
Biểu diễn tri thức (Knowlegde representation) là một bài
toán quan trọng của Trí tuệ nhân tạo
các phương pháp, cách thức biểu diễn tri thức và các công cụ
hỗ trợ việc biểu diễn tri thức
Một luật với toán tử logic AND trong mệnh đề kết luận, thì sẽ
được chuyển thành một tập các luật tương ứng không chứa AND
Ví dụ: Luật (IF … THEN B1B2) được chuyển thành 2 luật (IF
… THEN B1) and (IF … THEN B2)
Không cho phép sử dụng toán tử OR!
Trí Tuệ Nhân Tạo
16
8
Các kiểu luật
Các kiểu luật khác nhau để biểu diễn các kiểu tri thức
khác nhau
Quan hệ liên kết
IF addressAt(x, Hospital) THEN heathIs(x, Bad)
Quan hệ nguyên nhân (kết quả)
IF diseaseType(x, Infection) THEN tempIs(x,
High)
Tình huống và hành động (gợi ý)
IF diseaseType(x, Infection) THEN
takeMedicine(x, Antibiotic)
Quan hệ logic
IF tempGreater(x, 37) THEN isFever(x)
17
NN biểu diễn TT
17
Các thành phần
Cú pháp gồm các ký hiệu, qui tắc liên kết (các phép
toán) để tạo thành các câu (các công thức).
Ngữ nghĩa chỉ xuất hiện khi các ký hiệu nhận giá trị
trong một miền nào đó.
Ngoài ra, ngôn ngữ cần được trang bị một cơ chế
lập luận. Cơ chế này sử dụng các luật suy diễn. Một
luật suy diễn là cách để suy ra một công thức từ một
tập công thức nào đó.
17
Tóm lại
17
1. Cú pháp
17
Quy tắc xây dựng công thức
17
Quy ước
17
2. Ngữ nghĩa
17
CT thỏa được,…
17
CT hằng đúng
17
3. Dạng chuẩn tắc
18
CT tương đương
18
Đưa CT về dạng chuẩn tắc
18
Ví dụ
(A˅¬B)→(A˄C)
18
4. Câu Horn
18
Biểu diễn luật, sự kiện
18
Một số luật suy diễn quan trọng
18
18
Luật suy diễn đúng đắn?
18
Tiên đề, định lý, chứng minh?
19
Ví dụ về chứng minh
Cho
Q˄S→G˄H (1)
P→Q (2)
R→S (3)
P (4)
R (5)
Chứng minh G
19
Luật suy diễn đầy đủ?
19
Chứng minh bác bỏ (phản chứng)
19
Luật phân giải, CM bằng luật phân giải
19
Giải thức của một tập công thức
19
Định lý phân giải
19
Thủ tục phân giải
procedure Resolution;
Input: Tap G cac cau tuyen
Output: G thoa duoc hay khong thoa duoc?
Begin
repeat
Chọn 2 câu A,B thuộc G
If A, B phân giải được then tính Res(A,B)
If Res(A,B) là câu mới then thêm Res(A,B) vào G
until nhận được câu rỗng hoặc không có câu mới xuất hiện;
If nhận được câu rỗng then G không thỏa được
else G thỏa được
end.
19
Nhận xét.
19
Thủ tục cm G→H
Thêm ¬H vào G
Chuyển các ct trong G thành dạng chuẩn hội
Từ dạng chuẩn hội th.lập các câu tuyển G’
Áp dụng thủ tục phân giải cho tập câu G’
Nếu G’ không thỏa được thì G→H, ngược lại
H không là hệ quả logic của G.
19
20
20
Chuơng 6.
LOGIC VỊ TỪ
20
Nguyên nhân
20
Logic vị từ là sự mở rộng của logic mệnh đề.
LGVT cho phép biểu diễn một lớp các đối
tượng trong một miền nào đó.
Thuộc tính của đối tượng, mối quan hệ giữa
các đối tượng biểu thị bởi các vị từ.
Thêm các lượng từ tồn tại, với mọi để tạo ra
câu phong phú hơn.
20
1 Cú pháp.
Hằng: a,b,c,..
Biến: x,y,u,v,..
Vị từ: P(x,y), Q(x),..Vị từ không biến là MĐ.
Hàm: f,g
Phép toán logic
Kí hiệu lượng từ: tồn tại, với mọi
Dấu câu, ngoặc,...
20
Hạng thức
20
Công thức phân tử - câu đơn.
20
Công thức
20
2. Ngữ nghĩa
20
Ngữ nghĩa câu đơn
Vị từ P(x) : x là phụ nữ
x=Lan với minh họa này P(Lan) biểu diễn
cho câu Lan là phụ nữ.
Câu đơn có thể xuất hiện các hạng thức
(term).
Ví dụ Me(x) chỉ đối tượng là mẹ của x nào
đó. Câu đơn P(Me(Lan)) có nghĩa là "Mẹ của
Lan là một phụ nữ".
21
Ngữ nghĩa của lượng từ
Với mọi: Xác định giá trị bằng hội các giá trị
của công thức khi biến nhận mỗi đối tượng
trong miền xác định
Tồn tại: Bằng tuyển
21
Ngữ nghĩa câu phức (công thức)
21
CT thỏa được,…
21
;
Đưa về dạng chuẩn tắc hội, tức hội của các câu
tuyển để sử dụng được trong các khai báo của ngôn
ngữ prolog.
Thủ tục:
21
4. Đặt tên lại để tránh nghĩa nhập nhằng khi lấy
trùng miền xác định
5. Loại bỏ lượng tử với mọi, ngầm hiểu cho
toàn miền xác định
6. Chuyển các tuyển đến các CTPT
7. Loại bỏ hội, tách riêng các câu tuyển.
8. Đặt lại tên biến cho mỗi câu.
21
VD. Biểu diễn CS tri thức sau
21
5. Các luật suy diễn
xG ( x)
Gx | t
21
Phép thế
Có dạng
x1 | t1 ,...xn | t n
Trong đó xi là các biến; ti là các hạng thức
không chứa biến.
21
Hợp nhất
22
Luật MP tổng quát
22
Ví dụ
SV(x)˄Nam(x)→Thich(x,bongda)
SV(minh)
Nam(minh)
KL Thich(minh,bongda)
22
Luật phân giải tổng quát
22
6. Chứng minh bằng luật phân giải
22
Thủ tục chứng minh bác bỏ
Procedure P_Resolution;
Input: Tập G, H
Output: H có suy ra được từ G hay không?
Begin
1. Biến đổi các câu trong G và ¬H về dạng chuẩn tắc hội
2. Thành lập các câu tuyển
3. Repeat
Chọn 2 câu A, B
Tính giải thức Res(A,B)
Bổ sung vào tập công thức
Until xuất hiện câu rỗng hoặc không sinh câu mới
4. Nếu xuất hiện câu rỗng thì H đúng, ngược lại thì H sai
End;
22
Ví dụ
22
Thành lập các vị từ, các câu
1. TN(x)˄CoVL(x)→Ondinh(x)
2. Cham(y)˅Mayman(y)→TN(y)
3. Mayman(z) )→CoVL(z)
4. ¬Cham(nam)
5. Mayman(nam)
22
Chiến lược phân giải
- Làm sao lựa các câu nào để phân giải mang lại kết
quả nhanh. Có 2 chiến lược phân giải:
Theo bề rộng
Sử dụng tập hỗ trợ
- Tạo thành đô thị phân giải.
- Một đồ thị phân giải có nhiều cây chứng minh
- Nếu tập ban đâu không phân giải được thì gốc của
cây là rỗng.
22
Chương 7.
BIỂU DIỄN TRI THỨC
BẰNG LUẬT VÀ LẬP LUẬN
22
Lý do chỉ dùng câu Horn
23
1. Biểu diễn tri thức bằng luật
23
Ví dụ 2
Nếu
Tam giác có một góc bằng 60 độ
Tam giác có hai cạnh bằng nhau
thì
Tam giác đó là tam giác đều.
23
Đặc trưng
23
2. Suy diễn tiến
23
2. Suy diễn tiến
Suy diễn tiến áp dụng quy tắc suy diễn Modus
Ponen tổng quát.
Xét lần lượt các luận trong R, nếu các sk thỏa mãn
luật này thì có 1 sự kiện mới sinh ra đó là kết luận
của luận này, bổ sung vào CSSK F.
Tập F này ngày càng mở rộng, đến khi H xuất hiện
trong F thì ta nói H đúng, ngược lại nếu H k xuất
hiện mà cũng không sinh ra sk mới thì H sai hoặc
H không được chứng minh
23
VD
1. TN(x)˄CoVL(x)→Ondinh(x)
2. Cham(x)→TN(x)
3. Mayman(x) →TN(x)
4. Mayman(x)→CoVL(x)
5. ¬Cham(nam)
6. Mayman(nam)
23
Thủ tục suy diễn tiến
Procedure SDtien;
Input: R, F, H
Output: H đúng/sai
Begin
TG:=F; S:=Loc(R,TG); // TG là tập các sự kiện thu đc tại mỗi thời điểm
While (H chua thuoc TG và S khac rong) do
Begin - Chọn các luật mà giả thiết
r ← S; nằm trong Tập TG, gọi là S.
TG:=TG + right(r); - Sau đó lấy lần lược các luật
R:=R-r;
trong S ra, và đưa kết luận
S:=Loc(R,TG);
của luật vào TG.
End;
- Nếu TG có chưa H thì H
If H thuộc TG then H đúng Else H sai;
End; đúng, else H sai
23
3. Suy diễn lùi
23
Một giả thiết hiển nhiên là đúng nếu nó thuộc
tập sự kiện F
Nếu tất cả các Pi đúng thì Q đúng
Ngược lại nếu có Pi không đúng thì quay lui
chứng minh theo một luật khác có kết luận là
Q.
Nếu không tìm được luật nào như vậy thì Q
sai.
24
Thủ tục
24
while S<>[ ] do
begin
r ← S;
OK:=true;
for (l left(r)) do
if sdlui(l)=false then
begin
OK:=false;
beak; {for}
end;
if OK then break; {while}
S:=S – {r};
end;
24
if OK then sdlui:=true
else sdlui:=false;
end;
end;
24
4. Ứng dụng
Hệ chuyên gia
Lập trình Prolog
24
a. Hệ chuyên gia
24
b. Lập trình Prolog
24
Cú pháp
24
Cú pháp…
24
Chạy chương trình
? cunhan(nam).
Yes
? cunhan(hung).
No
25
VD
sinhvien(nam).
sinhvien(lan).
sinhvien(hoa).
hocvien(hung).
cunhan(X):-sinhvien(X).
25
Một số hằng, vị từ đặc biệt
write(.)
write(“Toi thich”), write(Y).
is
N is 5
not
khongcham(nam):-not cham(nam).
fail
cham(nam):- fail.
25
Một số chương trình
Sinh viên
Tháp Hà Nội
Tính giai thừa
Tính tổng
Ai là người giết chết con mèo!
25
Prolog - một phong cách LTrình khác!
25
Phần 4. Giới thiệu về học máy
(Machine Learning)
255
What is Machine Learning?
Khái niệm học:
• Theo nghĩa tự điển: Học là quá trình thu nhận kiến thức,
kỹ năng do người khác truyền lại hoặc đọc đi, đọc lại,
nghiền ngẫm ghi nhớ (học thuộc lòng)
+Rộng hơn, học bao gồm cả quá trình đúc rút tri thức từ
các quan sát, trải nghiệm thực tiễn. (Trường đời)
• According to wikipedia
– “Learning is acquiring new knowledge, behaviors, skills,
values, preferences or understanding, and may involve
synthesizing different types of information. The ability to
learn is possessed by humans, animals and some machines.
Progress over time tends to follow learning curves.”
256
Categorize (Phân loại học)
257
Học máy
261
Các ví dụ
262
Tại sao phải học máy?
D ( x , y )
N
k k
k , y k c( x k ) : y k Y
k 1
E (c) L( x k ), y k
N
k 1
Bài toán học không giám sát
( UnSupervised Learning/ Phân cụm )
• Dựa vào phân tích tính tương tự của các đối tượng trong tập
dữ liệu được xét, chia nhỏ thành các cụm sao cho các đối
tượng trong cùng cụm thì giống nhau hơn khi so với các đối
tượng khác cụm.
• Có nhiều cách phân cụm, kết quả phân cụm là không duy nhất
• Có nhiều thuật toán phân cụm, điển hình và đơn giản nhất là
thuật toán phân cụm Kmean.
.
K-means
• Là một trong những thuật toán gom
cụm đơn giản và hiệu quả nhất
• Mục tiêu: phân một tập có n phần tử
cho trước thành k tập con (k ≤ n),
mỗi tập con biểu diễn cho một cụm.
266
K-means
• Input: Tập dữ liệu kích thước n
Số nguyên dương k, k ≤ n
• Output: k cụm
• Sơ đồ:
Khởi tạo k tâm
Lặp
Tính k cụm: đánh dấu theo tâm gần nhất
Tính lại tâm mỗi cụm
Cho đến khi các cụm không đổi
267
K-means
268
K-means
• Minh họa
269
Thuật toán phân cụm K-mean
Bước 1: Chọn K tâm cụm, mỗi cụm được đại diện
bởi tâm cụm.
Bước 2: Tính khoảng cách giữa các đối tượng
đến K tâm cụm.
Bước 3: Nhóm các đối tượng vào nhóm gần nhất.
Bước 4: Xác định lại tâm cụm mới cho các cụm.
Bước 5: Thực hiện lại bước 2 cho đến khi không
có sự thay đổi giữa các cụm hoặc số lần lặp đủ
lớn.
Ví dụ: Data= {(1,1), (2,1), (4,3), (5,4)}, với K=2
Thuật toán phân cụm K-mean
Bài toán thiết lập đúng đắn (Well-posed problem)
Jacques Hadamard
• Lời giải thay đổi liên tục so với điều kiện ban đầu/dữ liệu.
+Bài toán học xác định tốt cần phải có nhiệm vụ cụ thể,
độ đo chất lượng thực hiện , nguồn dữ liệu huấn luyện
đầy đủ.
272
Nhận dạng chữ viết tay
273
Nhận dạng/ đối sánh vân tay
274
Thiết kế hệ nhận dang
Bài toán đối sánh:
• Cho vân tay điều tra Iq và vân tay lưu trữ It
• Question: 2 vân tay có cùng ngón sinh ra không?
• Common scheme for solving:
+Determine the similarity S(Iq,It)
+the decision ( yes / no) bases on comparing S(Iq,It) with a
predefined thresholds.
Main aproachs for deternining the similarity:
minutiae based matching ( the most popular method)
texture -based
grey-scale correlation-based.
275
Nhận dạng/ đối sánh vân tay
Phương pháp đặc trưng chi tiết
Minutiae are special points of fingerprint image such that end points, bifurcation
points...
From images Iq, It, we define two sets of minutiae Mq and Mt :
Mq = {m1, m2, …, mM}; mi= (xi , yi , qi), i = 1,...,M
Mt = {m1’, m2’, …, mN'}; mi'= (xi’,yi’,qi’), i = 1,..,N
4/21
Minutiae based method
It
Minutiae
Extract
Mt
Matching
Mq n
Iq
Minutiae
Extract
5/21
Compute the number of corresponding minutiae pairs n
found
The similarity S(It,Iq):
S(It,Iq) = n2/M× N. (1)
Based on predefined thresholds of scores Stmax and Stmin,
conclude that two fingerprints are
genuine if S(It,Iq) > Stmax, (2)
impostor (S(It,Iq) < Stmin). (3)
For the pairs of fingerprints having the similarity belong to
[Stmin, Stmax] a complemented warping stage is needed to
conclude 6/21
Thiết kế hệ học
279
280
Design a PR System
- Time-Consuming
- Data limited devide: training data & test
data
- intra-class variants
approachs
post-processing
classification
feature extraction
Preproce
ssing
segmentation
sensing
Physical Object
282
Steps in machine learning
• Problem formulation
– What is it that we try to predict for new data
• Data collection
– “training data”, optionally with labels provided by a teacher.
• Representation
– how the data are encoded into “features” when presented to learning
algorithm.
• Modeling
– choose the class of models that the learning algorithm will choose from.
• Estimation
– find the model that best explains the data: simple and fits well.
• Validation
– evaluate the learned model and compare to solution found using other
model classes.
• Deploy the learned model
Bao nhiêu dữ liệu thì đủ?
284
Thuật toán gradient
285
Support Vector Machine
Nội dung
• Bài toán phân lớp tuyến tính
• SVM tuyến tính
• SVM phi tuyến
• Ví dụ
Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1 w x + b>0
Nhãn -1
0
b=
+
x
w
w x + b<0
Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1
Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1
Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1
Có nhiều bộ có
thể phân lớp
=> Bộ nào tốt
nhất ?
Phân lớp tuyến tính
x f y
f(x,w,b) = sign(w x + b)
Nhãn +1
Nhãn -1
Giả thiết:
(x x ) w 2
• w . x+ + b = +1 M
• w . x- + b = -1 w w
• w . (x+-x-) = 2
Biểu diễn toán học của SVM tuyến tính
Mục tiêu: 1) Phân lớp chính xác dữ liệu học
if yi = +1
wxi ify =b-1 1
i
wx i b 1
for all i
2) Cực đại lề
với cực
yi ( wx
tương đương tiểub ) 1
i
2
Quy về việc giải bài toán quy hoạch lồi M
w 1 t
Cực tiểu ww
2
ràng buộc
1 t
( w) w w
2
yi ( wxi b) 1 i
SVM tuyến tính: Tóm tắt
0 x
0 x
SVM phi tuyến: không gian đặc trưng
Cần ánh xạ dữ liệu gốc sang không gian có số chiều cao
hơn mà trong đó dữ liệu có thể phân chia được.
Φ: x → φ(x)
Hàm nhân
Bộ phân lớp tuyến tính thực hiện với phép tích vô hướng K(xi,xj)=xiTxj
Nếu mỗi mẫu được ánh xạ sang không gian với số chiều cao hơn thông qua
phép biến đôi Φ: x → φ(x), thì tích trên trở thành:
K(xi,xj)= φ(xi) Tφ(xj)
Hàm nhân là một hàm nào đó tương ứng với phép nhân trên ở không gian
đặc trưng mở rộng.
Ví dụ:
Với vectors x=[x1 x2]; xét K(xi,xj)=(1 + xiTxj)2,
Cần K(xi,xj)= φ(xi) Tφ(xj):
K(xi,xj)=(1 + xiTxj)2,
= 1+ xi12xj12 + 2 xi1xj1 xi2xj2+ xi22xj22 + 2xi1xj1 + 2xi2xj2
= [1 xi12 √2 xi1xi2 xi22 √2xi1 √2xi2]T [1 xj12 √2 xj1xj2 xj22 √2xj1 √2xj2]
= φ(xi) Tφ(xj), trong đó φ(x) = [1 x12 √2 x1x2 x22 √2x1 √2x2]
Một số ví dụ hàm nhân
Tuyến tính: K(xi,xj)= xi Txj
Gaussian: 2
xi x j
K (x i , x j ) exp( )
2 2
305
Problem complexity
Y X
• NP-hard
• NP- Complete
306
Concept learning
307
Examples
vv
308
Learning Multiple Classes, Ci i=1,...,K
X {xt ,r t }tN1
t
1 if x t
C i
ri t
0 if x C j , j i
Train
hypotheses
hi(x), i =1,...,K:
1 if x t
C i
hi x
t
0 if x t
C j , j i
309
Lecture Notes for E Alpaydın 2010 Introduction to Machine Learning 2e © The
MIT Press (V1.0)
Regression Problems
310
Regression
311
Hypothesis space and Version space
(Không gian giả thuyết và không gian tường thuật)
312
Parameter framework for regression (Lược đồ cho bài toán hồi quy)
Regression
Let f : Rn → Rm be unknown function,
D={xk, yk}k=1,..,N be a observed data set, yk= f(xk )+ ε
313
Parameter framework for regression
Fremework:
Let Φ(x, c1, …cm) be a known function with parameters c1,…,cm
h(x) = Φ(x, c1, …cm) is ditermined by finding c1,…,cm such that :
• h(xk) = yk for all k for Interpolation P
• (SSE) Σk(h(xk) = yk )2 → minimum for A. P.
314
Interpolation and regression function Learning
315
Regression Function Learning
316
Thuật toán gradient
317
Linear case
318
Khuynh hướng quy nạp (inductive bias)
Nếu H = { mọi hàm từ X lên Y} thì có nhiều lời giải phù hợp với D
Người ta hạn chế H bởi các giả thiết để thu hẹp không gian tìm
kiếm hoặc cho thuật toán học duy nhất nghiệm.
Tập các giả thiết này gọi là khuynh hướng quy nạp của thuật toán
học.
319
Unbiased Learner
320
Probably Approximately correct (PAC) Learning
321
322
323
Bao nhiêu dữ liệu thì đủ?
324
325
326
327
Bài toán tỷ lệ chiều.
• đóng vai trò quan trọng trong bài toán phân lớp.
• Xét bài toán 2 lớp, dữ liệu hai chiều, từng biến mỗi lớp có phân bố
chuẩn:
328
• Hình 4.15.b: ( N/n=10) không thể tách tuyến tính đượ,c nhưng hình như có
thể tách được bởi hàm quyết định bạc hai. T
• 30 mẫu mỗi lớp (N/n=30) như trong hình 4.15.c thì trở nên phức tạp hơn
nhiều.
• Ta thấy các lớp này chồng lên nhau vì chúng tuân theo mô hình phân bố
chuẩn đã nêu.
• Vì vậy khi phân lớp có tỷ lệ chiều N/n thấp có thể dẫn đến các kết luận sai
về thực hiện đánh giá lớp khi huấn luyện.
• Khi số chiều cao đòi hỏi số mẫu tăng , khó khăn cho thu thập mẫu và xử lý.
• Rắc rối về bài toán chiều này có tê gọi là hiện tượng lời nguyền độc về số
chiều (curse of dimensionality phenomenon).
329
330
331
ĐÁNH GIÁ CÁC BỘ PHÂN LỚP
332
Ước lượng lỗi của bộ phân lớp
333
334
335
Phương pháp k-tập (k-folds) đánh giá phương pháp học
336
So sánh các bộ phân lớp
337
338
Một số đại lượng và thông tin khác
339
Một số đại lượng và thông tin khác
340
Đồ thị AND/OR (1)
Trong trường hợp xảy ra xung đột, cần một chiến lược
giải quyết xung đột (conflict resolution strategy - CRS) để
quyết định luật nào được (ưu tiên) áp dụng
Sự lựa chọn thích hợp một chiến lược giải quyết xung
đột có thể mang lại những cải thiện đáng kể đối với quá
trình suy diễn của hệ thống
Working
Lựa chọn Cập nhật
memory
Rule
memory Áp dụng
Interpreter Kết quả
(htt
p://www.cwa.mdx.ac.uk/bis2040/johnlect.html)
Trí Tuệ Nhân Tạo
34
7
Hệ thống suy diễn dựa trên luật (2)
Bộ nhớ làm việc (Working memory)
Lưu giữ các sự kiện (các giả thiết đúng, đã được chứng minh)
Các sự kiện này sẽ quyết định những luật nào được áp dụng
(bởi thành phần Interpreter)
Bộ nhớ các luật (Rule memory) Working
memory
Chính là cơ sở tri thức của hệ
thống Rule
Interpreter
memory
Lưu giữ các luật có thể áp dụng
Bộ diễn
Hệ dịch
thống bắt(Interpreter)
đầu bằng việc đưa một sự kiện (dữ liệu) phù hợp
vào bộ nhớ làm việc
Khi sự kiện (dữ liệu) trong bộ nhớ làm việc phù hợp với các
điều kiện của một luật trong bộ nhớ các luật, thì luật đó sẽ được
áp dụng
Dễ hiểu
Các luật dạng IF-THEN rất dễ hiểu đối với người sử dụng
Trong một lĩnh vực (bài toán) cụ thể, cách biểu diễn bằng luật
giúp các chuyên gia trong lĩnh vực này có thể đánh giá và cải
tiến các luật
Sự tương tác giữa các luật và trật tự của các luật trong
cơ sở luật có thể gây ra các hiệu ứng không mong muốn
Trong quá trình thiết kế (design) và bảo trì (maintenance) một cơ sở
luật, mỗi luật mới được đưa vào cần phải được cân nhắc (kiểm tra)
với các luật đã có từ trước
Rất khó khăn và chi phí tốn kém để xem xét tất cả các tương tác
(interactions) có thể giữa các luật
Quá tốn kém chi phí: thời gian, công sức, tiền bạc
Ví dụ
(toronto % sử dụng chữ thường cho các khung đơn
<:INSTANCE-OF CanadianCity>
<:Province ontario>
<:Population 4.5M>
…)
Ví dụ
(CanadianCity % sử dụng tên bắt đầu chữ hoa cho khung tổng
quát
<:IS-A City>
<:Province CanadianProvince>
<:Country canada>
…)
Giá trị của thuộc tính :DayOfWeek sẽ được tính toán (lại) khi
thuộc tính :Date được gán giá trị
Đối với khung city135, thì giá trị cho thuộc tính
:Country là holland (chứ không phải là giá trị mặc định
canada)
Ví dụ
(CoffeeTable
<:IS-A Table>
...)
(MahoganyCoffeeTable
<:IS-A CoffeeTable>
...)
walking yellow
travels_b
y
red
instance_of
Opus instance_of
Tweety
colour
white
(http://www.cwa.mdx.ac.uk/bis2040/johnlect.html
)
Trí Tuệ Nhân Tạo
37
2
SN: Lan truyền tác động
Đối với 2 khái niệm, việc lan
Living Thing
truyền tác động (spreading
is-a
activation) sẽ kích hoạt tác
động từ khái niệm này tới Animal is-a
6
Source: 9
Ontology (2)
Một ontology có thể được xem như là một cơ sở tri thức
Một ontology có thể phục vụ các mục đích khác nhau
Ví dụ: Mô hình cơ sở dữ liệu (database schema) là một
ontology
Cơ sở tri thức chứa đựng các tri thức cụ thể cần thiết
cho việc giải quyết vấn đề của một lĩnh vực
(Thực
(Lý tế cần
thuyết xem
cần xét)
xem
xét)
Source:
http://www.emiliosanfilippo.it/?page_id=1172
Trí Tuệ Nhân Tạo
74
Xây dựng ontology: các vấn đề
Xác định giới hạn (phạm vi) và mục đích sử dụng
Cân nhắc việc sử dụng lại các ontology đã có và liên
quan đến lĩnh vực đang xét
Liệt kê các khái niệm
Định nghĩa sự phân loại
Định nghĩa các thuộc tính
Định nghĩa các khía cạnh (các ràng buộc)
Xác định các ví dụ cụ thể (instances)
Kiểm tra các bất thường (anomalies)
Nên sử dụng các công cụ xây dựng tri thức, để thu được
Tập các khái niệm
Cấu trúc (phân cấp) ban đầu của các khái niệm này
Đảm bảo rằng phân cấp thu được thực sự là một phân
loại khái niệm
Nếu A là một lớp con của B, thì mọi ví dụ của A cũng phải là ví
dụ
của B
Khi xác định một thuộc tính cho một lớp, cần ngay lập
tức xác định các thông tin về miền (data type) và giá trị
(value domain) của thuộc tính đó
(protege.stanford.edu/amia2003/
AMIA2003Tutorial.ppt)
Trí Tuệ Nhân Tạo
81
Xác định các ví dụ
Bổ sung vào ontology các ví dụ (instances) cụ thể
Số lượng các ví dụ thường lớn hơn (nhiều) số lượng các
lớp (classes)
Việc bổ sung các ví dụ vào một ontology thường được
làm thủ công (manually)
Lấy từ các nguồn dữ liệu sẵn có (vd: từ các cơ sở dữ liệu)
Trích tự động từ một tập các dữ liệu văn bản