So sdith-Gradient L1 với các hiện tượng vật lý

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Phương pháp xác định vòng đầu tự động trong quá trình ước tính chu vi đầu của thai nhi sử dụng ảnh siêu âm 2 chiều (Trang 48 - 56)

TÓM TÁT KHÓA LUẬN

Hinh 3.4. So sdith-Gradient L1 với các hiện tượng vật lý

Tuy nhiên, ở Hình 3.4(b), bề mặt có hai đáy thung lũng là C và D; vị trí C là điểm global

minimum; VỊ trí D là điềm cực tiểu địa Phương (local minimum). Tùy vào việc đặt vi trí

của viên bi mà vi trí cuối cùng cổ thé khác nhau; nếu vị trí đặt bi ở A thì viên bi sẽ dừng

lại ở C; nếu vị trí ban đầu của viên bi ở B thì vị trí cuối cùng tương ứng là D (giả sử trường hợp ma sát đủ lớn và đà không đủ mạnh để bi có thé vượt dốc). Nếu vận tốc ban dau của viên bi đặt ở vị trí B - Hình 3.4(b) đủ lớn thì nó vẫn có thé lăn đến sườn dốc bên trái của điểm đáy D do có quán tinh (Momentum). Và giả sử vận tốc ban đầu lớn hơn

° Nguồn: https://machinelearningcoban.com/2017/01/16/gradientdescent2/#-momentum

24

nữa, viên bi có thê lăn doc lên dén điêm E rôi lăn xuông và dừng lại tại vi trí đêm C như

minh họa ở Hình 3.4(c). Dựa trên điêu này, thuật toán Momentum ra đời với mục đích

dé GD vượt qua các điểm local minimum.

Gradient Descent với Momentum:

Trong GD, can tính lượng thay đổi ở thời điểm £ dé cập nhật vi trí mới nghiệm (là viên bi). Gia sử, xem đại lượng này là vận toc ¿trong vat lý, vi trí mới của viên bi là:

Dex, =O, — Ve (3.15)

với mỗi vòng lặp là một don vị thời gian; đấu trừ thé hiện phải đị chuyên ngược với dao hàm. Cần tìm đại lượng 10 để vừa mang thông tin của độ dốc (là đạo hàm) và momentum (là vận tốc 1_Ă với vận tốc ban đầu giả sử ứạ.= 0). Một cỏch đơn giản nhất cú thộ lấy trọng số của chung:

0¿ =0—+ + 1†VạJ(8) (3.16)

trong đó, y thường được chọn là một giá trị trong khoảng (0; 9); v,_4 là vận tốc tai thời điểm trước đú; VaJ(ỉ) là độ dốc (đạo hàm) tại điểm hiện tại. Từ đú cú được cụng thức

cập nhật nghiệm như sau:

9 =0 =v, =0 —1VạJ(ỉ) — yvi-1 (3.17)

Sự khác nhau giữa GD thông thường và GD với Momentum nam ở thành phan cuối cùng

trong công thức cập nhật. Thuật toán đơn- giản này mang lại hiệu quả trong các bài toán

thực tế.

3.3.4. Thuật toán Adam

Adaptive moment estimation (Adam) là một phương pháp ước lượng learning rate cho

mỗi tham số [19]. Thuật toán tối ưu này được xem như là sự kết hợp của RMSprop — phương pháp adaptive learning rate đề xuất bởi Geoff Hinton ở Lecture 6e, Coursera

25

Class !°) và SGD với momentum [20]. Thuật toán SGD với momentum đã tính moving

average cua gradient (ỉ;) sau đú dựng nú dộ cap nhat cac trong SỐ:

ty — 0¿_ + (1— Bdge (3.18)

Ở RMSProp, learning rate cập nhật dựa trên moving average của bình phương gradient:

s,â;s¿_.++.(1—= ỉ;)ứ? (3,19)

trong đú, ỉĂ va ỉ;.là cỏc tham số khụng õm: Cỏc lựa chọn phụ biến cho chỳng là B, = 0.9 và B = 0.999. Điều nay khiến cho sự đi chuyển chậm hơn. và nếu có khởi tao

Vo = Sp = 0.sẽ xảy rã tình trạng chêch lệch đáng kể giữa giá trị s¿ và ¿. Van đề này được khắc phục bằng.cách chuân hóa các giá trị như sau:

(3.20)

h= 3⁄21

Sau khi có các giá trị trên, gradient được điều chỉnh lại giá trị tương tự như ở RMSprop:

^

' Vt

KR SS (3.22)

Ni ng:

Tuy nhiên có một sự khác biệt với RMSprop, phương trình cập nhật sử dung momentum

v, thay vì sử dụng g;..e thường được chọn là 1076.

Tổng kết các bước trên ta có công thức cập nhật trọng số:

A, — ỉ.—Ă — 9, (3.23)

19 Nguồn: http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf

26

3.4. Huấn luyện ANN

Xây dựng và huấn luyện mô hình ANN là quá trình học các đặc trưng của đữ liệu đầu vào, từ đó tìm được cặp tham số weight và bias phù hợp đề tối ưu hóa mô hình sao cho kết quả trùng khớp với đữ liệu dùng đề huấn luyện. Quá trình huấn luyện một ANN được chia thành 2 giai đoạn là giai đoạn tính kết quả dự đoán của mô hình là 9 và giai đoạn tối ưu trọng số dựa trên độ sai lệch giữa 9 và giá trị thực tế y. Cai đoạn đầu tiên được gọi là lan truyền tiến ([eedforward].

Dé thuận tiện cho việc trình bày, một số quy ước được sử dụng trong khóa luận như sau:

e L:s6 layer trong mạng.

e Ww": ma trận weight ở layer Ì:

e bl: vector bias ở layer 1.

â zl = wll +b! kết quả của tinh theo cụng thức (3.1) ở layer ẽ,

e alll = ứg(z!) = g(WIlx + b!) với g!4 là activation function ở layer I;;al9è = x;

all = ÿ.

e /J(,y): hàm mat mat thé hiện độ sai lệch giữa ouput của mạng (9) và giá trị y trong

mau huấn luyện (x, y).

° = J(9,y): đạo hàm riêng của hàm J(8, y) theo biến T:

Với feedforward, 9 được tính với một mẫu dữ liệu (x, y) theo các bước sau:

zl =wllx + pl

z2! = Wl2lx + pel (3.24)

27

z1 = wllx + pH]

9 = all = g(zlt!)

Sau khi có kết quả do mô hình dự đoán, mô hình tính toán độ sai lệch J(2, y) và thực hiện tối ưu các trọng SỐ SỬ dụng GD. Đề thuận tiện trong việc tính các đạo hàm dùng trong GD, thuật toán lan truyện ngược (backpropagation) được sử dụng phổ biến. Ý

tưởng co ban là thuật toán sẽ từ ouputlayer đi ngược.lại input layer, tính đạo hàm của

hàm mat mát tương ứng với các tham số weight và bias ở các.hidden layer, ding GD, dé cập nhật lại các trọng SỐ này: Tại output layer, mô hình sẽ tính giá trị J(@, y), từ đó tính:

ở]

az

PITNDIRRE-ED Spl = Gz

(3,25)

_ụ| _ A aah ỉ4” _ urine, 28, '(z/")1

da — ụzI*1l-—ứall—- azI agen 9

awl — azi1 “ãpI1 — 2z0l

Với mỗi lần tính san và am: GD sẽ dùng giá trị đạo hàm này dé cập nhật cho các trọng số:

[l = wlll — dj

Ww! =W n awit (3.26)

[t] — pữl ~T„m——dj

b''=b 15pm (3.27)

28

3.5. Convolution Neural Network

Mang nơ ron tích chập (Convolution Neural Network — CNN) là một trong những mô

hình DL phổ biến và có tầm quan trọng với lĩnh vực CV. Kiến trúc gốc của CNN [21]

được Kunihiko Fukushima — nhà khoa học máy tính người Nhật cùng cộng sự của ông

giới thiệu vào đầu những năm 80 của thé ki XIX. Cùng trong thập kỉ đó, Yann LeCun et

al. thành công sử dụng thuật toán lan truyền ngược (Backpropagation Algorithm) dé nhận dạng mã zip viết tay [22]: Cho đến năm 1998, kiến trúc mạng CNN điển hình và

lâu đời LeNet-5.[23] được Yann LeCun et al. nghiên cứu thành công cho bài toán nhận

dạng chữ viết tay.

Tuy nhiên, mãi đến năm 2012, khi Krizhevshy et al. [18] xây dựng kiến trúc mạng AlexNet, sử dụng-:GPU dé tăng tốc quá trình hủán luyện và chiến thang trong cuộc thi

ILSVRC2012(ImageNet Large Scale Visual'Recognition Challenge 2012) với độ lỗi

phân lớp giảm hon 10% sỏ với:những mô hình truyền thống trước đó, đã tạo nên làn sóng mạnh mẽ sử dụng CNN với sự hỗ trợ của GPU để giải quyết các vấn đề trong CV. Sau AlexNet, có rất nhiều các kiến trúc mạng nỗi tiếng được công.bố:

e_ GoogLeẹet [24].với điểm đỏng chỳ ý là inception module được sử dụng giỳp

giám số lượng tham số đáng kể mà vẫn đảm bảo hiệu năng của hệ thống;

e_ VGGNet [25] gây ấn tượng bằng việc thay đôi thứ tự của các layer nhằm giữ lại

được nhiều đặc trưng hơn đồng thời giảm độ lỗi so với AlexNet;

e ResNet [26] được nghiên cứu bằng việc sử dung các residual block và kết nối tắt.

Và rất nhiều các kiến trúc mạng CNN khác được nghiên cứu, công bố cho đến thời điểm này. CNN được dùng nhiều trong các bài toán nhận dạng ảnh, phân tích video, phân tích

ảnh y khoa như CT và MRL. ...

Kiến trúc CNN được thiết kế khác các ANN thông thường ở việc các node trong một layer chỉ được kết nối với một vùng nhỏ trong layer trước đó, thay vì kết nối toàn bộ

29

(fully connected). Về cơ ban, CNN là một tập hợp các layer với ba loại layer chính bao gồm: Convolution layer, Pooling layer và Fully-connected layer.

3.5.1. Convolution layer

Convolution layer (conv layer) là thành phan cơ ban nhất trong CNN. Input của một conv layer là dit liệu dang ba chiéu ( tensor) với kích thước: chiêu rộng (Width — W) x chiều cao (Height — H) x chiều sâu (Depth—= D)iay W x H x D:Các tham số của một conv layer thực chất là tập hợp các Đô loc (filter / kernel). Một kernel có kích thước

W, x Hy x Dy (ới Wy WH, < H;Dy„ =D). Ví dụ:

e Di liệu ảnhcókíchthước [32 x 32 x 3], trong đó W = H = 32 pixel và D = 3 (với

3 kênh màu.R; G, Bì).

e Một kernel cho dữ liệu ảnh có kích thước[5 x-5 x 3], trong đó W = H =5,D =3.

activation maps

32

Convolution Layer

32 3

Hình 3.5. Kết quả đầu ra của một conv layer với input có kích thước [32 x 32 x 3], sử dụng 6 kernel

có kích-thước [5X 5 x 3] [27].

Mỗi kernel sẽ thực hiện phép tinh convolution với input và cho một ban đồ đặc trưng

(feature maps / activation maps) 2D theo công thức:

y[m,n] = x[m,n] * k[m,n] =) z[uj]:t[m=a=/] B.28)

jJj=-œ í=-œ

30

Mỗi conv layer là tập hợp nhiều kernel, mỗi kernel phát sinh một feature maps 2D với cùng kích thước, các fearture map xếp chồng lên nhau dé tạo nên output của conv layer

là tensor với kích thước W, x H, x Dạ với D, là số kernel được sử dụng 6 conv layer thứ

L (thé hiện ở minh họa trong Hình 3.5).

Kết nối cục bộ (Local connectivity):

Việc kết nối một node ở layer sau với tất .cả các:node ở layer trước đó dẫn đến bùng nỗ

số lượng tham số. Chính vì điều đó, CNN tận dụng mối quan hệ cục bộ theo không gian

bang cách sử dụng kiểu kết nối cục bộ 8iữa các node trong layer liền kề: một node chỉ được kết nối tới một'Vùng nhỏ của input (Hình 3.6). Phạm vi của không gian kết nối (W

và H) là trường tiếp nhận (receptive field) của một node, tương ứng với kích thước Ƒ của kernel.(filter size / kernel size). Phạm vĩ kết nối theo độ sâu luôn băng D cua input.

Hình 3.6. Các node trong conv_layer (màu xanh) kết nối với receptive fieild của nó (mau đỏ) với input

có kích thước [32.32 x 5] [27].

Chia sẻ tham số (Parameter sharing):

Output của conv layer thứ / là một dit liệu 3 chiều dạng W, x H, x Dạ, trong đó mỗi lát cắt 2D thu được theo chiều D, gọi là một lat cat sâu ( depth slice). Đề giảm sỐ lượng tham

số cần sử dụng, tất cả các node năm trong cùng một lát cắt sâu được sử dụng chung tham

số, đồng nghĩa với việc dùng chung weight và bias. Tập hợp các trọng số dược sử dụng

chung cho tat cả các node năm trên cùng một lát cat sâu chính là kernel.

31

Các siêu tham số (Hyperparameter): Có 3 giá trị hyperparameter ảnh hưởng đến kích thước ouput của một conv layer, bao gồm: độ sâu (depth), bước trượt (stride), và zero—

padding.

e Depth: tương ứng với số lượng kernel được sử dụng trong conv layer.

e Stride (s): cho biết độ lớn của bước trượt của kernel trên input; S:lớn thì kích thước

W và H của output.giảm.

Ví dụ với dữ liệu ảnh, giá-trị s= 1, nghĩa là mỗi lần trượt, kernel dịch chuyên 1 ‘pixel

Một phần của tài liệu Khóa luận tốt nghiệp Khoa học máy tính: Phương pháp xác định vòng đầu tự động trong quá trình ước tính chu vi đầu của thai nhi sử dụng ảnh siêu âm 2 chiều (Trang 48 - 56)

Tải bản đầy đủ (PDF)

(113 trang)