machine learning iv (2)

72
NEURAL NETWORK Nguyễ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

Upload: nguyen-hoang-vu

Post on 05-Dec-2014

1.334 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Machine learning iv (2)

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

Page 2: Machine learning iv (2)

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

Page 3: Machine learning iv (2)

GIỚI THIỆUNguyễn Xuân Tường Huy

Page 4: Machine learning iv (2)

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

Page 5: Machine learning iv (2)

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

Page 6: Machine learning iv (2)

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

Page 7: Machine learning iv (2)

• 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

Page 8: Machine learning iv (2)

Đồ thị hàm truyền

Page 9: Machine learning iv (2)

jw1

jw2

ijw

njw

1x

2x

ix

nx

1y

iy

ny

Mạng truyền thẳng một lớp

Page 10: Machine learning iv (2)

jw1

jw2

ijw

njw

jkw

1x

2x

ix

nx

jO kO

Input Layer

HiddenLayer

Output Layer

Page 11: Machine learning iv (2)

Một số dạng mạng noron

Page 12: Machine learning iv (2)

Huấn luyện mạng noron

Page 13: Machine learning iv (2)

• 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

Page 14: Machine learning iv (2)

Học có giám sát

Page 15: Machine learning iv (2)

Học không giám sát

Page 16: Machine learning iv (2)

Ứ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

Page 17: Machine learning iv (2)

PERCEPTRONChâu Thế Hải

Page 18: Machine learning iv (2)
Page 19: Machine learning iv (2)

Single Perceptron

Page 20: Machine learning iv (2)

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

Page 21: Machine learning iv (2)

XOR ProblemX1 X2 XOR CLASS

0 0 1 A

0 1 0 B

1 0 0 B

1 1 1 A

Page 22: Machine learning iv (2)

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

Page 23: Machine learning iv (2)

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.

Page 24: Machine learning iv (2)

Training Error

D : Tập huấn luyệnT : output mong đợiO : output tạo bởi Perceptron

Page 25: Machine learning iv (2)

Gradient Descent

Page 26: Machine learning iv (2)

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.

Page 27: Machine learning iv (2)

Cách tính steepest Descent

Page 28: Machine learning iv (2)

Delta rule

Ƞ : hằng số học

xi :giá trị input trong tập huấn luyện d

Page 29: Machine learning iv (2)

Gradient Descent

Page 30: Machine learning iv (2)

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

Page 31: Machine learning iv (2)

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( )

Page 32: Machine learning iv (2)

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

Page 33: Machine learning iv (2)

MẠNG ĐA LỚPTHUẬT GIẢI LAN TRUYỀN NGƯỢC(Backpropagation Algorithm)Dương Ngọc Doanh

Page 34: Machine learning iv (2)

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”

Page 35: Machine learning iv (2)

Mạng đa lớp – Cấu trúc

Lớp nhập Lớp ẩn(n) Lớp xuất

Page 36: Machine learning iv (2)

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

Page 37: Machine learning iv (2)

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

Page 38: Machine learning iv (2)

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)

Page 39: Machine learning iv (2)

Thuật giải lan truyền ngược – ví dụ 2 Xét mạng đa lớp

Page 40: Machine learning iv (2)

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Ω

Page 41: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 42: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 43: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 44: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 45: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 46: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 47: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 48: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 49: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 50: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 51: Machine learning iv (2)

Ví dụ 2 – Quá trình học

Page 52: Machine learning iv (2)

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

Page 53: Machine learning iv (2)

BP lan truyền ngược – sơ đồ

Page 54: Machine learning iv (2)

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

Page 55: Machine learning iv (2)

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

Page 56: Machine learning iv (2)

Backpropagation – Overfitting

Page 57: Machine learning iv (2)

Backpropagation – Overfitting

Page 58: Machine learning iv (2)

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

Page 59: Machine learning iv (2)

MỞ RỘNGNguyễn Hoàng Vũ

Page 60: Machine learning iv (2)

Hàm đánh giá lỗi

Page 61: Machine learning iv (2)

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

Page 62: Machine learning iv (2)

Mạng hồi quy

Mạng lan truyền tiến

Mạng hồi quy

Page 63: Machine learning iv (2)

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

Page 64: Machine learning iv (2)

TỔNG KẾT

Page 65: Machine learning iv (2)

Á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

Page 66: Machine learning iv (2)

DEMOMai Ngọc Sương

Page 67: Machine learning iv (2)

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

Page 68: Machine learning iv (2)

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.

Page 69: Machine learning iv (2)

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

Page 70: Machine learning iv (2)

MẠNG NƠRON DUNG ĐÊ NHẬN DẠNG KY TƯ

Page 71: Machine learning iv (2)

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

Page 72: Machine learning iv (2)

CẢM ƠN