You are on page 1of 17

TRƯỜNG ĐẠI HỌC KỸ THUẬT - CÔNG NGHỆ CẦN THƠ

KHOA CÔNG NGHỆ THÔNG TIN




BÁO CÁO ĐỀ TÀI


MÔN: HỌC SÂU

Đề tài: HUẤN LUYỆN HỌC SÂU

GIẢNG VIÊN THÀNH VIÊN NHÓM 5:


ThS. Lê Anh Nhã Uyên Nguyễn Thành Công - 1900716
Hùynh Minh Toàn - 1900460
Huỳnh Thanh Tài - 1900538
Hồ Thị Ngọc Trang - 1900777

Lớp: KHM0119

Cần Thơ, 02/2023


Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

NHẬN XÉT CỦA GIẢNG VIÊN

----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
--------------------------------------------------

i
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN........................................................................................i
1. Giới thiệu tối ưu hóa (optimization) cho mạng học sâu.................................................1
2 Các cách khởi tạo biến Khởi tạo trọng số..................................................................1
3. Phương pháp tối ưu Gradient descent và Momentum:...........................................2
4. Một số biến thể tìm kiếm bước giảm (Learning Rate)............................................3
5. Giới thiệu chính quy hóa (regularization)................................................................3

TÀI LIỆU THAM KHẢO.................................................................................................10

ii
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

1. Giới thiệu tối ưu hóa (optimization) cho mạng học sâu


Trong huấn luyện mạng học sâu, tối ưu hóa là quá trình tìm kiếm giá trị tối ưu của
một hàm mất mát (loss function) trên tập dữ liệu huấn luyện. Mục đích của quá
trình này là tìm ra các trọng số (weights) và các siêu tham số (hyperparameters) mà
làm cho mạng học sâu hoạt động tốt nhất trên tập dữ liệu huấn luyện và các tập dữ
liệu khác.Tối ưu hóa trong huấn luyện mạng học sâu có thể được thực hiện bằng
nhiều cách khác nhau, bao gồm: Gradient descent và các biến thể của nó: Gradient
descent là phương pháp tối ưu hóa phổ biến nhất trong huấn luyện mạng học sâu.
Nó hoạt động bằng cách tính toán gradient của hàm mất mát đối với từng trọng số
và cập nhật trọng số bằng cách di chuyển theo hướng đối lập với gradient. Các biến
thể của gradient descent bao gồm stochastic gradient descent, mini-batch gradient
descent, và momentum gradient descent. Học sâu bayesian: Học sâu bayesian là
một phương pháp tối ưu hóa phức tạp hơn so với gradient descent, nhưng nó cũng
có thể cung cấp các giá trị trọng số tối ưu cho mạng học sâu. Thay vì cố định các
trọng số như trong gradient descent, học sâu bayesian đưa ra một phân phối xác suất
cho các trọng số. Tối ưu hóa siêu tham số: Siêu tham số là các tham số mà không
phải là trọng số của mạng học sâu, như tốc độ học (learning rate), kích thước batch
(batch size) và số lượng lớp ẩn (hidden layers). Tối ưu hóa siêu tham số là quá trình
tìm kiếm giá trị tối ưu của các siêu tham số này. Các phương pháp tối ưu hóa siêu
tham số bao gồm tìm kiếm ngẫu nhiên, tìm kiếm dựa trên mô hình (model-based
search) và tối ưu hóa đa nhiệm (multi-task optimization).Các thuật toán học sâu liên
quan đến việc tối ưu hóa trong nhiều ngữ cảnh. Ví dụ, thực hiện suy luận trong các
mô hình như PCA liên quan đến việc giải quyết vấn đề tối ưu hóa vấn đề. Chúng ta
thường sử dụng tối ưu hóa phân tích để viết bằng chứng hoặc thuật toán thiết kế.
Trong tất cả các vấn đề tối ưu hóa liên quan đến học sâu, vấn đề quan trọng nhất
khó khăn là đào tạo mạng lưới thần kinh. Việc đầu tư hàng ngày đến hàng tháng là
điều khá phổ biến. Thời gian trên hàng trăm máy để giải quyết dù chỉ một trường
hợp duy nhất của hệ thần kinh bài toán huấn luyện mạng. Bởi vì vấn đề này rất quan
trọng và rất tốn kém, một bộ kỹ thuật tối ưu hóa chuyên biệt đã được phát triển để
giải quyết nó. Chương này trình bày các kỹ thuật tối ưu hóa cho đào tạo mạng thần

kinh. Chúng ta bắt đầu với một mô tả về cách tối ưu hóa được sử dụng như một
thuật toán đào tạo cho một nhiệm vụ học máy khác với tối ưu hóa thuần túy. Tiếp
theo, trình bày những thách thức cụ thể khiến việc tối ưu hóa mạng lưới thần kinh
trở nên khó khăn. Sau đó xác định một số thuật toán thực tế, bao gồm cả hai thuật
toán tối ưu hóa bản thân và các chiến lược để khởi tạo các tham số. Các thuật toán

1
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

nâng cao hơn điều chỉnh tỷ lệ học tập của chúng trong quá trình đào tạo hoặc tận
dụng thông tin có trong đạo hàm cấp hai của hàm chi phí. Cuối cùng, kết luận với
một đánh giá về một số chiến lược tối ưu hóa được hình thành bằng cách kết hợp tối
ưu hóa đơn giản các thuật toán thành các thủ tục cấp cao hơn.

2. Các cách khởi tạo biến Khởi tạo trọng số

Khởi tạo trọng số là một việc quan trọng khi phát triển các mô hình mạng nơ-ron
học sâu.
Các nơ ron trong mạng nơ-ron bao gồm các tham số được gọi là trọng số được sử
dụng để tính tổng trọng số của các đầu vào.

Các mô hình mạng nơ ron fit dữ liệu bằng cách sử dụng một thuật toán tối ưu hóa
gọi là stochastic gradient descent để thay đổi từng bước trọng số mạng để giảm
thiểu hàm loss, hy vọng tạo ra một bộ trọng số cho khả năng đưa ra các dự đoán hữu
ích.

Khởi tạo trọng số là một thủ tục để đặt trọng số của mạng nơ-ron thành các giá trị
ngẫu nhiên nhỏ để xác định điểm bắt đầu cho việc tối ưu hóa của mô hình mạng nơ-
ron. Đào tạo mô hình deep learning là một nhiệm vụ khó khăn mà hầu hết các thuật
toán bị ảnh hưởng mạnh bởi sự lựa chọn khởi tạo. Điểm ban đầu có thể xác định
liệu thuật toán có hội tụ hay không, với một số điểm ban đầu không ổn định đến
mức thuật toán gặp khó khăn và thất bại hoàn toàn. Mỗi lần, mạng nơ-ron được
khởi tạo với một tập trọng số khác nhau, dẫn đến một điểm khởi đầu khác nhau cho
quá trình tối ưu hóa và có khả năng dẫn đến một tập hợp trọng số cuối cùng khác và
hiệu suất của mạng sẽ khác nhau.

Khởi tạo trọng số cho Sigmoid và Tanh

Cách tiếp cận tiêu chuẩn để khởi tạo trọng số của các lớp mạng nơron và các nút sử
dụng chức năng kích hoạt Sigmoid hoặc Tanh được gọi là khởi tạo “glorot” hoặc
“xavier”.

Khởi tạo Xavier

Phương pháp khởi tạo xavier được tính như một số ngẫu nhiên có phân phối xác
suất đồng nhất (U) giữa phạm vi −(1/sqrt(n))- (1 / sqrt (n))−(1/sqrt(n)) và
1/sqrt(n)1 / sqrt (n)1/sqrt(n) , trong đó nnn là số lượng đầu vào cho nút.

1/sqrt(n)]weight=U[−(1/sqrt(n)),1/sqrt(n)]

Khởi tạo Xavier chuẩn hóa

2
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Phương pháp khởi tạo xavier chuẩn hóa được tính toán dưới dạng số ngẫu nhiên có
phân phối xác suất đồng nhất (U) giữa phạm vi –(sqrt(6)/sqrt(n+m)) và
sqrt(6)/sqrt(n+m), trong đó n là số lượng đầu vào và m là số đầu ra từ lớp
weight = U [-(sqrt(6)/sqrt(n + m)), sqrt(6)/sqrt(n + m)]weight=U[−
(sqrt(6)/sqrt(n+m)),sqrt(6)/sqrt(n+m)]

Khởi tạo trọng số cho Relu

Việc khởi tạo trọng số “xavier” được phát hiện có vấn đề khi được sử dụng để khởi
tạo các mạng sử dụng chức năng kích hoạt tuyến tính (ReLU)
Do đó, một phiên bản sửa đổi của cách tiếp cận đã được phát triển đặc biệt cho các
nút và lớp sử dụng kích hoạt ReLU, phổ biến trong các lớp ẩn của hầu hết các mô
hình mạng nơ ron đa lớp và Perceptron nhiều lớp.

Khởi tạo trọng số He

Phương pháp khởi tạo He được tính toán dưới dạng một số ngẫu nhiên có phân phối
xác suất Gaussian (G) với giá trị trung bình là 0,0 và độ lệch chuẩn là sqrt(2/n)sqrt
(2 / n)sqrt(2/n) , trong đó nnn là số đầu vào cho nút.
weight=G(0.0,sqrt(2/n))weight = G (0.0, sqrt(2/n))weight=G(0.0,sqrt(2/n))

3. Phương pháp tối ưu Gradient descent và Momentum:


a. Gradient Descent:
Trong các bài toán tối ưu, chúng ta thường tìm giá trị nhỏ nhất của 1 hàm số
nào đó, mà hàm số đạt giá trị nhỏ nhất khi đạo hàm bằng 0. Nhưng đâu phải
lúc nào đạo hàm hàm số cũng được, đối với các hàm số nhiều biến thì đạo
hàm rất phức tạp, thậm chí là bất khả thi. Nên thay vào đó người ta tìm điểm
gần với điểm cực tiểu nhất và xem đó là nghiệm bài toán. Gradient Descent
dịch ra tiếng Việt là giảm dần độ dốc, nên hướng tiếp cận ở đây là chọn 1
nghiệm ngẫu nhiên cứ sau mỗi vòng lặp (hay epoch) thì cho nó tiến dần đến
điểm cần tìm.
Công thức : xnew = xold - learningrate.gradient(x)
Đặt câu hỏi tại sao có công thức đó ? Công thức trên được xây dựng để cập
nhật lại nghiệm sau mỗi vòng lặp . Dấu '-' trừ ở đây ám chỉ ngược hướng đạo
hàm. Đặt tiếp câu hỏi tại sao lại ngược hướng đạo hàm ?
Ví dụ như đối với hàm f(x)= 2x +5sin(x) như hình dưới thì f'(x) =2x +
5cos(x)
với x_old =-4 thì f'(-4) <0 => x_new > x_old nên nghiệm sẽ di chuyển về bên
phải tiến gần tới điểm cực tiểu.
ngược lại với x_old =4 thì f'(4) >0 => x_new <x_old nên nghiệm sẽ di chuyển
về bên trái tiến gần tới điểm cực tiểu.
Gradient cho hàm một biến:

3
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

4
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Qua các hình trên ta thấy Gradient descent phụ thuộc vào nhiều yếu tố : như nếu
chọn điểm x ban đầu khác nhau sẽ ảnh hưởng đến quá trình hội tụ; hoặc tốc độ học
(learning rate) quá lớn hoặc quá nhỏ cũng ảnh hưởng: nếu tốc độ học quá nhỏ thì tốc
độ hội tụ rất chậm ảnh hưởng đến quá trình training, còn tốc độ học quá lớn thì tiến
nhanh tới đích sau vài vòng lặp tuy nhiên thuật toán không hội tụ, quanh quẩn quanh
đích vì bước nhảy quá lớn.
Gradient descent cho hàm nhiều biến :

5
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Ưu điểm :

  Thuật toán gradient descent cơ bản, dễ hiểu. Thuật toán đã giải quyết được vấn
đề tối ưu model neural network bằng cách cập nhật trọng số sau mỗi vòng lặp.
Nhược điểm :

  Vì đơn giản nên thuật toán Gradient Descent còn nhiều hạn chế như phụ thuộc
vào nghiệm khởi tạo ban đầu và learning rate.

  Ví dụ 1 hàm số có 2 global minimum thì tùy thuộc vào 2 điểm khởi tạo ban
đầu sẽ cho ra 2 nghiệm cuối cùng khác nhau.

  Tốc độ học quá lớn sẽ khiến cho thuật toán không hội tụ, quanh quẩn bên đích
vì bước nhảy quá lớn; hoặc tốc độ học nhỏ ảnh hưởng đến tốc độ training
b. Momentum
Để khắc phục các hạn chế trên của thuật toán Gradient Descent người ta dùng
gradient descent with momentum. Vậy gradient with momentum là gì ?

6
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Để giải thích được Gradient with Momentum thì trước tiên ta nên nhìn dưới
góc độ vật lí: Như hình b phía trên, nếu ta thả 2 viên bi tại 2 điểm khác nhau
A và B thì viên bị A sẽ trượt xuống điểm C còn viên bi B sẽ trượt xuống điểm
D, nhưng ta lại không mong muốn viên bi B sẽ dừng ở điểm D (local
minimum) mà sẽ tiếp tục lăn tới điểm C (global minimum). Để thực hiện
được điều đó ta phải cấp cho viên bi B 1 vận tốc ban đầu đủ lớn để nó có thể
vượt qua điểm E tới điểm C. Dựa vào ý tưởng này người ta xây dựng nên
thuật toán Momentum ( tức là theo đà tiến tới ).
Nhìn dưới góc độ toán học, ta có công thức Momentum:
xnew = xold -(gama.v + learningrate.gradient)
Trong đó :
xnew: tọa độ mới
xod : tọa độ cũ
gama: parameter , thường =0.9
learningrate : tốc độ học
gradient : đạo hàm của hàm f

7
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Qua 2 ví dụ minh họa trên của hàm f(x) = x.2 + 10sin(x), ta thấy GD without
momentum sẽ hội tụ sau 5 vòng lặp nhưng không phải là global minimum.
Nhưng GD with momentum dù mất nhiều vòng lặp nhưng nghiệm tiến tới
global minimum, qua hình ta thấy nó sẽ vượt tốc tiến tới điểm global

8
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

minimum và dao động qua lại quanh điểm đó trước khai dừng lại.
Ưu điểm :

  Thuật toán tối ưu giải quyết được vấn đề: Gradient Descent không tiến
được tới điểm global minimum mà chỉ dừng lại ở local minimum.
Nhược điểm :

  Tuy momentum giúp hòn bi vượt dốc tiến tới điểm đích, tuy nhiên khi
tới gần đích, nó vẫn mất khá nhiều thời gian giao động qua lại trước khi dừng
hẳn, điều này được giải thích vì viên bi có đà.

4 Một số biến thể tìm kiếm bước giảm (Learning Rate)


a. Tìm kiếm từ thô tới tinh
Ý tưởng của phương pháp này là lựa chọn ngẫu nhiên trong một không gian siêu
tham số và tìm ra một miền mà tại đó tập trung các giá trị của siêu tham số khiến
cho loss function thấp.Tiếp tục lặp lại quá trình trên đối với vùng nhỏ vừa tìm
được để tìm ra vùng nhỏ hơn
b. Tìm kiếm dựa trên không gian scale logarithm
Khi sử dụng phân phối đều trên khoảng [0, 1] để lựa chọn ngẫu nhiên learning
rate, 10% sẽ rơi vào [0, 0.1] và 90% sẽ rơi vào [0.1, 1], nhưng trên thực tế,
learning rate gần như không bao giờ rơi vào [0.1, 1]. Learning rate bởi vậy thông
thường không tuân theo phân bố đều.
Do đó, ý tưởng của phương pháp là lấy logarithm cơ số 10 của learning rate và
thực hiện tìm kiếm trên miền không gian lúc này, chẳng hạn chọn [-5, 0], thì lúc
này learning rate phân bố đều trên các miền giá trị nhỏ [0.00001, 0.0001],
[0.0001, 0.001], [0.001, 0.01], [0.01, 0.1], [0.1, 1]
c. Tuning learning rate theo loss function
Ý tưởng của phương pháp là tăng dần learning rate theo batch iteration và theo
dõi loss function trên từng batch iteration. Có 3 trường hợp xảy ra:

 Những vị trí mà learning rate nhỏ sẽ khiến cho đường biểu diễn giá loss gần
như nằm ngang
 Những vị trí có learning rate phù hợp sẽ biểu thị đường biểu diễn giá trị loss
đi xuống cho thấy loss function đang hội tụ dần
 Những vị trí có learning rate cao sẽ khiến cho hàm loss biến đổi thất thường,
tăng, giảm hoặc dao động ngẫu nhiên như hình dưới

9
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Khi đó ta sẽ lấy learning rate ở điểm chính giữa đường hạ dốc của loss function
(điểm màu đỏ như hình dưới)

10
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

5 Giới thiệu chính quy hóa (regularization).


Chính quy hóa đề cập đến các kỹ thuật được sử dụng để hiệu chỉnh các mô hình
máy học nhằm giảm thiểu tổn thất được điều chỉnh và ngăn chặn việc phù hợp quá
mức ( Overfitting ) và thiếu phù hợp (Underfitting) .

5.1 Overfitting và Underfitting.


Overfitting là mô hình rất hợp lý, rất khớp với tập huấn luyện nhưng khi đem ra dự
đoán với dữ liệu mới thì lại không phù hợp. Nguyên nhân có thể do ta chưa đủ dữ
liệu để đánh giá hoặc do mô hình của ta quá phức tạp. Mô hình bị quá phức tạp khi
mà mô hình của ta sử dụng cả những nhiễu lớn trong tập dữ liệu để học, dấn tới mất
tính tổng quát của mô hình. Ví dụ như ở phía bên phải ở trên. Mô hình của ta gần
như mong muốn bao được hết tất cả các điểm làm cho biên độ dao động của nó lớn
quá mức. Mô hình này mà dự đoán với 1 giá trị mới của x thì khả năng y sẽ bị lệch
đi rất nhiều.
Underfitting là mô hình được coi là chưa khớp nếu nó chưa được chưa phù hợp với
tập dữ liệu huấn luyện và cả các mẫu mới khi dự đoán. Nguyên nhân có thể là do
mô hình chưa đủ độ phức tạp cần thiết để bao quát được tập dữ liệu. Ví dụ như phía
bên trái ở trên. Tập dữ liệu huấn luyện loanh quanh khúc y=sin(2pi x) thế nhưng mô
hình của ta chỉ là một đường thẳng mà thôi. Rõ ràng như vậy thì nó không những
không thể ước lượng được giá trị của y với mới mà còn không hiệu quả với cả tập
dữ liệu (x,y) có sẵn.
5.2 Variance và Bias .

Variance (Phương sai) cho chúng ta biết về sự lây lan của các điểm dữ liệu. Nó tính
toán một điểm dữ liệu khác bao nhiêu so với giá trị trung bình của nó và khoảng
cách của nó so với các điểm khác trong tập dữ liệu.
Bias ( Độ lệch )là sự khác biệt giữa dự đoán trung bình và giá trị mục tiêu.
Mối quan hệ của Variance và Bias:
Độ lệch thấp và phương sai thấp sẽ tạo ra một mô hình cân bằng, trong khi độ lệch
cao dẫn đến việc trang bị đầy đủ và phương sai cao dẫn đến việc trang bị quá mức.

11
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Độ lệch thấp: Dự đoán trung bình rất gần với giá trị mục tiêu
Độ lệch cao: Các dự đoán khác quá nhiều so với giá trị thực tế
Phương sai thấp: Các điểm dữ liệu nhỏ gọn và không thay đổi nhiều so với giá trị
trung bình của chúng
Phương sai cao: Các điểm dữ liệu rải rác với các biến thể lớn từ giá trị trung bình và
các điểm dữ liệu khác.

Để tạo ra sự phù hợp, chúng ta cần có sự cân bằng chính xác giữa độ lệch và
phương sai.
3.5.2 Các kỹ thuật chính quy hóa.
Có hai loại kỹ thuật chính quy hóa chính: chính quy hóa Ridge (L2) và chính quy
hóa Lasso (L1).

Chính quy hóa Lasso (Least Absolute Shrinkage and Selection Operator ) :
Sửa đổi các mô hình phù hợp quá mức hoặc thiếu phù hợp bằng cách thêm hình
phạt tương đương với tổng các giá trị tuyệt đối của các hệ số.

12
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

Hồi quy Lasso cũng thực hiện giảm thiểu hệ số và lấy các giá trị thực của các hệ số.
Điều này có nghĩa là tổng hệ số cũng có thể bằng 0, do sự hiện diện của các hệ số
âm.

Chính quy hóa Ridge:


Sửa đổi các mô hình phù hợp quá mức hoặc thiếu phù hợp bằng cách hình
phạt tương đương với tổng bình phương của cường độ của các hệ số.

Điều này có nghĩa là hàm toán học đại diện cho mô hình học máy được giảm thiểu
và các hệ số được tính toán. Độ lớn của các hệ số được bình phương và thêm vào.
Ridge Regression thực hiện chính quy hóa bằng cách thu nhỏ các hệ số hiện có.

13
Đề tài: Huấn Luyện Học Sâu GVHD: Lê Anh Nhã Uyên

TÀI LIỆU THAM KHẢO

1. Được truy lục từ IBM: https://www.ibm.com/topics/recurrent-neural-


networks

2. Trà My (2021). Được truy lục từ https://wiki.tino.org/convolutional-neural-


network-la-gi/

3. Yen Lily (2021, December 15). Được truy lục từ: https://irender.vn/su-khac-
biet-giua-ai-vs-hoc-may-vs-hoc-sau-vs-mang-no-ron-nhan-tao/

4. IBM Watson Studio and Waston Machine Learning. What is recurrent


neural netwworks?. Được truy lục từ: https://www.ibm.com/topics/recurrent-
neural-networks

5. Nordic Coder (2019, December 30). Deep Learning là gì? Tổng quan về
Deep Learning. Được trích lục từ: https://nordiccoder.com/blog/deep-
learning-la-gi/

14

You might also like