Upload
nguyen-hoang-vu
View
1.334
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
NEURAL NETWORKNguyễn Xuân Tường Huy
Châu Thế Hải
Dương Ngọc Doanh
Nguyễn Hoàng Vũ
Mai Ngọc Sương
Nội dung• Giới thiệu• Thuật toán huấn luyện
• Perceptron• Delta-rule + Gradient descent• Lan truyền ngược (backpropagation)
• Mở rộng• Demo
GIỚI THIỆUNguyễn Xuân Tường Huy
Lịch sử• ANN được giới thiệu năm 1943 bởi nhà thần kinh học
Warren McCulloch và nhà logic học Walter Pits
Warren McCulloch
Hướng nghiên cứu• Có 2 hướng nghiên cứu chính• Sử dụng ANN để học và mô hình lại tiến trình học của
mạng noron sinh học• Sử dụng ANN trong máy học để đạt được các giải thuật
có độ chính xác cao
xuất y
mk
tổng trọng số
å
vectortrọng số w
w0
w1
wn
Vectornhập x
x0
x1
xn
f
Hàm kích hoạt
)sign(yn
0ii kixw
Ví dụ:
Mô hình một noron nhân tạo
• Hàm bước
• Hàm giới hạn chặt
• Hàm bậc thang
• Hàm ngưỡng đơn cực
• Hàm ngưỡng hai cực
Một số dạng hàm truyền
Đồ thị hàm truyền
jw1
jw2
ijw
njw
1x
2x
ix
nx
1y
iy
ny
Mạng truyền thẳng một lớp
jw1
jw2
ijw
njw
jkw
1x
2x
ix
nx
jO kO
Input Layer
HiddenLayer
Output Layer
Một số dạng mạng noron
Huấn luyện mạng noron
• Có hai kiểu học:Học tham số: là các tham số về trọng
số cập nhật kết nối giữa các nơron.Học cấu trúc: trọng tâm là sự biến đổi
cấu trúc của các mạng nơron gồm số lượng nút và các loại liên kết
Huấn luyện mạng noron
Học có giám sát
Học không giám sát
Ứng dụng của ANN• Bài toán phân lớp: nhận dạng chữ viết, tiếng nói …• Bài toán dự báo• Bài toán điều khiển và tối ưu hóa
PERCEPTRONChâu Thế Hải
Single Perceptron
Ví dụ AND ( 1 : true ; -1 : false)
b = -8
YW1 = 5
W2 = 5
X1
X2
OR ( 1 : true ; -1 : false)
b = -3
YW1 = 5
W2 = 5
X1
X2
X1 X2 F Y
1 1 2 1
1 -1 -8 -1
-1 1 -8 -1
-1 -1 -18 -1
X1 X2 F Y
1 1 2 1
1 -1 3 1
-1 1 3 1
-1 -1 -7 -1
XOR ProblemX1 X2 XOR CLASS
0 0 1 A
0 1 0 B
1 0 0 B
1 1 1 A
The perceptron Training Rule
• Khởi tạo wi là một giá trị ngẫu nhiên
• Cập nhật lại wi qua các lần huấn luyện
µ : Hằng số học t : giá trị output mong đợio : giá trị output bởi perceptron
The delta rule• Dùng thuật toán Gradient descent để tìm trong không
gian giả thuyết của các vector trọng số để tìm ra những trọng số phù hợp nhất với tập huấn luyện
• Được biết đến là phương pháp huấn luyện perceptron không có ngưỡng.
Training Error
D : Tập huấn luyệnT : output mong đợiO : output tạo bởi Perceptron
Gradient Descent
Gradient Descent• Khởi tạo một giá trị ngẫu nhiên vector trọng số• Chỉnh sửa lại vector trọng số này qua các bước lặp lại.• Tại mỗi bước sẽ sử dụng giá trị giảm độ dốc (steepest
descent) để chỉnh sửa vector trọng số trên bề mặt lỗi.• Dừng khi tìm được điểm cực tiểu lỗi toàn cục.
Cách tính steepest Descent
Delta rule
Ƞ : hằng số học
xi :giá trị input trong tập huấn luyện d
Gradient Descent
Xấp xỉ ngẫu nhiên Gradient Descent• Khó khăn của Gradient Descent
• Hội tụ về cực tiểu cục bộ tốn nhiều chi phí• Nếu tồn tại nhiều điểm cực tiểu cục bộ thì sẽ không
chắc sẽ tìm được cực tiểu toàn cục
Cách khắc phục : Xấp xỉ Gradient Descent- Tính độ lỗi và cập nhật trọng số tại từng bước huấn luyện
So sánhGradient Descent Xấp xỉ ngẫu nhiên Gradient Descent
-Độ lỗi được tính tổng qua tất cả các bộ dữ liệu huấn luyện trước khi hiệu chỉnh lại các trong số .-Tính tổng qua các bộ dữ liệu huấn luyện sẽ đòi hỏi nhiều chi phí tính toán trong mỗi bước hiệu chỉnh trọng số-Độ thay đổi trọng số qua mỗi bước huấn luyện sẽ lớn hơn-Gặp khó khăn khi có nhiều cực tiểu cục bộ
-Trọng số được hiệu chỉnh qua mỗi bộ dữ liệu huấn luyện
-Chi phí tính toán ít hơn
-Độ thay đổi trọng số thấp
-Dễ dàng hơn trong trường hợp có nhiều cực tiểu cục bộ vì sử dụng đa dạng các Gradient Ed( ) thay vì E( )
So sánhPerceptron Training Rule Delta Rule
-Dựa trên tập dữ liệu huấn luyện đã được phân loại chính xác ngay từ đầu-Số lần lặp là hữu hạn-Gặp khó khăn khi dữ liệu không tuyến tính rời rạc
-Hội tụ về mức lỗi nhỏ nhất.-Số lần lặp không giới hạn-Có thể thích nghi với bộ dữ liệu không tuyến tính rời rạc
MẠNG ĐA LỚPTHUẬT GIẢI LAN TRUYỀN NGƯỢC(Backpropagation Algorithm)Dương Ngọc Doanh
Mạng đa lớp• Các perceptron chỉ biểu diễn được hàm tuyến tính• Mạng đa lớp biểu diễn hàm phi tuyến
Nhận dạng 10 nguyên âm xuất hiện trong ngữ cảnh “h_d”
Mạng đa lớp – Cấu trúc
Lớp nhập Lớp ẩn(n) Lớp xuất
Mạng đa lớp – Hàm sigmoid • Các hàm ngưỡng trong mạng có thể sử dụng:
• Perceptron • Linear Unit • Sigmoid Unit
là hàm sigmoid:1
( ) 1 x
xe
Mạng đa lớp – Hàm sigmoid • Đặc trưng của hàm sigmoid:
• Ánh xạ một tập dữ liệu lớn về khoảng [0, 1]• Chỉ cần một hàm sigmoid để huấn luyện mạng• Mạng đa lớp sử dụng sigmoid là hàm ngưỡng
. (1 )
( )( ) ( )
d xx x
dx
Thuật giải lan truyền ngược – ví dụ 1
• Khởi tạo mạng:• Xác định lỗi tại lớp xuất:
Error B = Output B * (1 – Output B) * ( Target B – Output B)
• Cập nhật trọng số:WAB = WAB + (Error B * Output A)
• Xác định lỗi cho lớp ẩn
Error A = Output A * (1 – Output A) * (Error BW AB + Error CW AC)
Thuật giải lan truyền ngược – ví dụ 2 Xét mạng đa lớp
Ví dụ 2 – Quá trình học• Xác định lỗi tại lớp xuất:
δα = outα (1 - outα) (Targetα - outα) ; δβ = outβ (1 - outβ) (Targetβ - outβ)
• Cập nhật trọng số:WAα = WAα + ηδα outA ; WAβ = WAβ + ηδβ outA
WBα = WBα + ηδα outB ; WBβ = WBβ + ηδβ outB
WCα = WCα + ηδα outC ; WCβ = WCβ + ηδβ outC
• Xác định lỗi tại lớp ẩn:δA = outA (1 – outA) (δαWAα + δβWAβ) ; δB = outB (1 – outB) (δαWBα + δβWBβ)
δC = outC (1 – outC) (δαWCα + δβWCβ)
• Cập nhật trọng số cho lớp ẩn:WλA = WλA + ηδA inλ; WΩA = WΩA + ηδA inΩ
WλB = WλB + ηδB inλ; WΩB = WΩB + ηδBinΩ
WλC = WλC + ηδC inλ; WΩC = WΩC + ηδC inΩ
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
Ví dụ 2 – Quá trình học
BP lan truyền ngược – nội dung
• Khởi tạo mạng: nin, nhidden
, nout, Wji giá trị nhỏ
• <Điều kiện kết thúc chưa thỏa>, thực hiện:1. Xác định đầu ra của mỗi Nơron: ou
2. Xác định lỗi tại lớp xuất: k
3. Với mỗi Nơ ron trong các lớp ẩn, xác định lỗi: h
4. Cập nhật lại trọng số trong mạng: wji
1k k k k ko o t o
1h h h kh kk outputs
o o w
ji ji jiw w w ji j jiw x
BP lan truyền ngược – sơ đồ
BP lan truyền ngược – nhận xét• Điều kiện dừng: khi nào thì mạng học xong?
• Total Error < Final Target Error• Sử dụng Validation Set
BP lan truyền ngược – nhận xét• Hội tụ cục bộ và hội tụ toàn cục
• Momentum:
• Sử dụng luật hạ dốc ngẫu nhiên(Stochastic gradient descent)• Cho nhiều mạng học cùng dữ liệu mẫu và khác trọng số Chọn
mạng tốt nhất hoặc lấy giá trị trung bình.
( ) ( 1)ji j ji jiw n x w n
Backpropagation – Overfitting
Backpropagation – Overfitting
Backpropagation – Overfitting• Weight decay
• Giảm w sau mỗi lần lặp
• Validation data• Kết hợp: huấn luyện và test• Dữ liệu ít k-fold cross validation
MỞ RỘNGNguyễn Hoàng Vũ
Hàm đánh giá lỗi
Quy trình giảm lỗi• Hướng: sử dụng gradient nhằm cập nhật lại giá trị trọng
số• Bước nhảy: tham số học
• VD: line search, conjugate gradient
Mạng hồi quy
Mạng lan truyền tiến
Mạng hồi quy
Mạng kiến trúc động• Cải thiện độ chính xác tổng quát và hiệu quả huấn luyện
• Cascade Correlation (Fahlman and Lebiere, 1990): khởi đầu từ mạng đơn giản và thêm nút dần
• Optimal brain damage (LeCun, 1990): khởi đầu từ mạng phức tạp và loại bỏ dần các nút không cần thiết
TỔNG KẾT
Áp dụng• Mỗi ví dụ được biểu diễn bởi một tập gồm (rất) nhiều
thuộc tính kiểu rời rạc hoặc kiểu số• Miền giá trị đầu ra của hàm mục tiêu có kiểu số thực,
hoặc kiểu rời rạc, hoặc kiểu vectơ• Tập dữ liệu có thể chứa nhiễu/lỗi• Dạng của hàm mục tiêu không xác định (biết) trước• Không cần thiết (hoặc không quan trọng) phải đưa ra giải
thích cho người dùng đối với các kết quả• Chấp nhận thời gian (khá) lâu cho quá trình huấn luyện• Yêu cầu thời gian (khá) nhanh cho việc phân loại/dự đoán
DEMOMai Ngọc Sương
NHẬN DIỆN KY TƯ UNICODE• Nhận dạng ký tự quang học là kỹ thuật được sử dụng để
chuyển đổi ảnh văn bản sang dạng văn bản có thể chỉnh sửa trong máy tính.
• Nó được ứng dụng trong công tác quét và lưu trữ các tài liệu cũ, đẩy nhanh việc nhập dữ liệu vào máy với ít lỗi hơn
CƠ SỞ DƯ LIỆU
Cơ sở dữ liệu cho bài toán nhận dạng ký tự quang gồm 90 ký tự Latinh với các loại font khác nhau, cùng với giá trị Unicode tương ứng của chúng.
CÁC BƯỚC THƯC HIỆN
Thu nhận ảnh ký tự
Phân tích ảnh để tìm ký tự
Tiền xử lý ký tự
Mạng nơron nhận dạng ký tự
Hậu xử lý dữ liệu
MẠNG NƠRON DUNG ĐÊ NHẬN DẠNG KY TƯ
KẾT QUẢ VA ĐÁNH GIÁ
Số kí tự = 90, hệ số học learning_rate = 0,15, hệ số góc hàm sigmoid =0.014
Font 300 Vong lăp 600 Vong lăp 800 Vong lăp
Ky tư sai % Lôi Ky tư sai % Lôi Ky tư sai % Lôi
Latin Arial 4 4.44 3 3.33 1 1.11
Latin Tahoma 1 1.11 0 0 0 0
Latin Time New Roman 0 0 0 0 1 1.11
CẢM ƠN