Ệ Ư H C VI N CÔNG NGH  B U CHÍNH VI N THÔNG

KHOA CÔNG NGH  THÔNG TIN I

­­­­­­­­­­

Ậ   TÊN Đ  TÀI:  NG D NG M NG NEURAL TÍCH CH P

TRONG NH N D NG HOA QU

Ệ CHUYÊN NGÀNH :H  TH NG THÔNG TIN

ƯỚ

GI NG VIÊN H

NG D N

Ễ Ẫ  :PGS.TS. NGUY N QUANG HOAN

HÀ N I­NĂM 2021

Ệ Ư H C VI N CÔNG NGH  B U CHÍNH VI N THÔNG

KHOA CÔNG NGH  THÔNG TIN I

­­­­­­­­­­

Ậ   TÊN Đ  TÀI:  NG D NG M NG NEURAL TÍCH CH P

TRONG NH N D NG HOA QU

Ệ CHUYÊN NGÀNH :H  TH NG THÔNG TIN

ƯỚ

GI NG VIÊN H

NG D N

Ễ Ẫ  :PGS.TS. NGUY N QUANG HOAN

HÀ N I­NĂM 2021

2

Ụ Ụ M C L C

3

M  Đ UỞ Ầ

ế ạ ạ ạ ọ ọ ắ M ng neural nhân t o hay g i ng n g n là m ng neural (ti ng anh là

ề ấ ạ ổ ộ Artifical Neural Network) đang là v n đ  khá n i trong cu c cách m ng công

ứ ệ ọ ổ ứ ứ ngh  4.0. Các nhà nghiên c u, các nhà khoa h c, t ụ    ch c đã và đang  ng d ng

ờ ố ề ệ ế ằ ơ   ạ khá nhi u công ngh  liên quan đ n m ng neural vào đ i s ng h ng ngày. Đ n

ố ượ ệ ạ ả ậ ạ gi n là vi c phân lo i, nh n d ng các đ i t ầ   ng trên camera. Chúng góp ph n

ố ượ ệ ậ ạ ả ỏ ằ không nh  cho vi c qu n lý, nh n d ng các đ i t ả ng nh m gi m thi u s ể ự

ệ ủ ườ khó khăn trong công vi c c a con ng i.

ề ệ ượ ỗ ợ ể ọ Ở ướ  n c ta, n n nông nghi p đ c chú tr ng phát tri n. M i đ t thu

ạ ả ườ ả ạ ả ho ch nông s n, ng ằ   i nông dân ph i làm thao tác phân lo i nông s n b ng

ủ ứ ệ ệ ấ ấ ơ   ờ các bi n pháp th  công nên r t m t th i gian, công s c. Đây là công vi c đ n

ư ả ạ ả ưở ố ớ ấ ớ ể ệ gi n nh ng l i  nh h ng r t l n đ i v i quy mô phát tri n nông nghi p.

ẽ ủ ờ ự ệ ể ệ ạ ự ọ   Hi n nay nh  s  phát tri n m nh m  c a công ngh  trong lĩnh v c h c

ệ ử ụ ụ ụ ạ ạ máy. Vi c s  d ng các m ng neural nhân t o trong các máy móc ph c v  nông

ứ ứ ệ ề ẫ ấ nghi p khá là hay, luôn h p d n các nghiên c u sinh nghiên c u v  nó. Do đó,

ờ ự ỡ ừ ầ ự ể ướ ề ẫ nh  s  tìm hi u và s  giúp đ  t th y h ạ   ọ ng d n, em ch n đ  tài: “M ng

ứ ụ ệ ạ ả Couvolutional Neural Network và  ng d ng trong vi c nhân d ng hoa qu ”.

ư ồ ộ Bài báo cáo g m 3 n i dung chính nh  sau:

ươ ớ ệ ổ Ch ng I: Gi i thi u t ng quan

ươ ể ạ ạ Ch ng II: Tìm hi u m ng Couvolutional Neural Netwok và mô hình m ng

ươ Ứ ụ ậ Ch ạ   ng III:  ng d ng Couvolutional Neural Network cho bài toán nh n d ng

hoa qu .ả

4

ụ Danh m c ch  vi ữ ế ắ t t t

Tên vi t

ế ắ t t ANN CNN ế Nghĩa ti ng viêt ạ ạ M ng neural nhân t o ậ ạ M ng neural tích ch p

ị ơ ỉ ReLU ế Nghĩa ti ng anh Artifical Neural Network Couvolutional Neural  Netwok Rectified Linear Unit

Đ n v  tính toán ch nh l uư

5

ụ ồ ị Danh m c đ  th

6

ươ Ớ Ệ Ổ Ch ng I: GI I THI U T NG QUAN

ể ậ ạ ả I.1. Phát bi u bài toán nh n d ng hoa qu

ơ ả ệ ạ ậ ạ ộ Bài toán nh n d ng là m t bài toán khá c  b n trong trí tu  nhân t o,

ề ả ế ế ế ề ầ ọ h c sâu… Nó là n n t ng cho h u h t các lý thuy t liên quan đ n nhi u bài

ở ộ ư ớ ị ị ệ ậ ể toán m  r ng khác nh  phân l p, đ nh v , tách bi t v t th ,... Tuy nhiên, nhìn

ồ ạ ệ ấ ườ ẫ chung, bài toán này đã xu t hi n và t n t ế ỉ i hàng th  k  mà con ng ư   i v n ch a

ả ế ợ ề tìm ra cách gi ệ ể ấ i quy t h p lý. Do đó, cũng có r t nhi u khó khăn trong vi c đ

ể ượ ứ ả ể ế máy móc hi u đ c các thông tin trong b c  nh. Các khó khăn có th  kê đ n

ể ả ư ự ự ề ạ ạ ướ ề ệ nh : s  đa d ng đi m  nh, s  đa d ng v  kích th ự c, đi u ki n ánh sáng, s

ẩ ấ ủ ể ự ủ ạ ạ ắ ậ n gi u c a các v t th , s  đa d ng ch ng lo i, màu s c,…

ữ ộ ườ ợ ụ ể ủ ậ ạ ậ M t trong nh ng tr ng h p c  th  c a bài toán nh n d ng đó là nh n

ế ừ ủ ậ ạ ả ữ ạ d ng hoa qu . Bài toán này k  th a nh ng khó khăn c a bài toán nh n d ng

ư ố ượ ữ ủ nói chung và kèm theo nh ng khó khăn riêng c a chính nó nh : s  l ng

ố ạ ủ ề ạ ả ớ ị ướ ch ng lo i hoa qu  theo mùa, mi n, đ a hình,… v i vô s  lo i có kích th c,

ế ấ ể ừ ắ ố ố ỳ ế màu s c, k t c u gi ng nhau trong su t chu k  phát tri n t lúc xanh đ n khi

ự ủ ề ề ệ ạ ả ạ ỡ ộ chín; s  đa d ng v  kích c , hình d ng c a cùng m t loài qu  do đi u ki n khí

ữ ề ả ấ ỏ ể ử ậ h u, đ t đai, vùng mi n,… Do đó, đ  x  lý bài toán này đòi h i ph i có nh ng

ươ ế ậ ề ầ ợ ớ ph ng pháp ti p c n phù h p v i yêu c u đ  ra.

ươ I.2.Ph ế ậ ng pháp ti p c n bài toán:

ả ừ ậ ạ ệ ề ấ Bài toán nh n d ng hoa qu  t ễ    lâu đã xu t hi n trên nhi u bài báo, di n

ề ướ ư ọ ả ế đàn, công trình khoa h c đã đ a ra nhi u h ng gi i quy t khác nhau. Trong

ả ể ế ấ ớ ươ ử ả ươ đó, s m nh t ph i k  đ n ph ng pháp x  lý  nh (image processing). Ph ng

ấ ặ ầ ớ ủ ả ư ư ứ ệ ậ pháp này t p trung ph n l n vào vi c trích xu t đ c tr ng c a  nh nh : m c

ể ả ắ ố ướ ể ạ ậ ừ ứ ả xám, đi m  nh, tham s  màu s c, kích th c hình d ng v t th ,… t b c  nh

ủ ả ậ ươ ỉ ậ ộ ầ đ u vào c a hoa qu . Vì v y nên ph ng pháp này ch  t p trung vào m t vài

ự ế ề ắ ầ ướ ứ ả b c  nh đ u vào trong khi đó s  bi n thiên v  màu s c, kích th c hoàn toàn

ố ớ ả Ả ạ ưở ấ ủ ủ ế ệ khác nhau đ i v i các lo i hoa qu .  nh h ng c a nó đ n hi u su t c a

ươ ượ ế ố ớ ấ ạ ụ ạ ph ng pháp không đ c cao nên áp d ng r t h n ch  đ i v i các lo i hoa

qu .ả

7

ừ ữ ộ ố ế ề ụ ươ ọ T  nh ng năm 2000, m t s  bài báo vi t v  áp d ng ph ng pháp h c

ớ ộ ừ ạ ậ máy (machine learning) vào bài toán nh n d ng v i đ  chính xác cao. T  đó,

ướ ả ả ế ế ậ ứ ụ ậ ọ h ng gi ụ i quy t t p trung vào  ng d ng và c i ti n thu t toán h c máy, c

ụ ể ể ư ứ ử ư ể ệ ặ ọ ộ th  là nghiên c u, th  nghi m trích ch n đ c tr ng c  th  đ  đ a vào b

ậ ạ ự ộ ế ố ượ ạ ả ươ nh n d ng t ạ  đ ng. Trong ph m vi h n ch  s  l ng hoa qu , ph ng pháp

ạ ượ ữ ế ạ này đã đ t đ ả c nh ng k t qu  đáng kinh ng c.

ươ ế ậ ượ ữ ọ ộ Ph ng pháp h c sâu cũng là m t trong nh ng cách ti p c n đ c áp

ữ ệ ử ụ ạ ụ ể ế ợ ử ụ d ng vào trong bài toán này. C  th  k t h p x  lý d  li u và s  d ng m ng

ươ

Hình .Mô t

2 ph

ng pháp trong bái toán nh n d ng

ể ờ ữ ệ ư ử ề ả neural nh : ANN, CNN,… Đi u này làm gi m đáng k  th i gian x  lý d  li u.

ươ ề ố I.2.1.Ph ng pháp Machine Learning truy n th ng

ươ ệ ạ ấ ồ Ph ử ng pháp này g m 2 giai đo n chính là hu n luy n (training) và th

ệ ạ ầ ỗ ọ nghi m (testing). Trong m i giai đo n thì yêu c u chính và quan tr ng đó là

ủ ả ư ậ ạ ậ ặ ọ trích tr n đ c tr ng c a  nh (Feature extraction) và thu t toán phân lo i, nh n

ả ầ ưở ấ ớ ế ế ả dang,… Hai thành ph n này  nh h ầ   ng r t l n đ n k t qu  bài toán do đó c n

ế ế ẩ ố ớ ề ầ ậ ố ờ ườ ế thi ứ t k  c n th n, t n nhi u công s c, th i gian, yêu c u đ i v i ng i thi t

ầ ử ả ắ ữ ư ể ặ ế k  ph i n m v ng chuyên môn và hi u rõ đ c tr ng c n x  lý.

ự ế ữ ệ ậ ượ ữ ệ ữ ỉ Trong th c t , d  li u ta nh n đ ữ c ch  là d  li u thô, do đó nh ng d

ẩ ư ọ ọ ữ ệ ệ ể ể ả ử li u này ph i qua quá trình ch n l c, x  lý. Đ  có th  có d  li u chu n đ a đi

8

ữ ệ ệ ế ể ạ ấ ả ổ ỗ hu n luy n ph i có quá trình bi n đ i thành d ng d  li u cho máy hi u. M i

ố ớ ừ ư ữ ườ ợ ụ ể ặ ữ ạ ữ ệ ẽ d  lo i d  li u s  có nh ng đ c tr ng riêng đ i v i t ng tr ng h p c  th .

ỳ ế ể ả ủ ả ầ ộ ợ Do đó c n tu  bi n m t cách thích h p đ  đ m b o tính chính xác c a bài

toán.

ươ ọ I.2.2. Ph ng pháp h c sâu – deep learning:

ủ ọ ệ ừ ữ ự ấ ộ Là m t trong các lĩnh v c chuyên sâu c a h c máy xu t hi n t nh ng

ể ậ ụ ổ ế ệ ữ ệ ố năm 1980 và hi n nay đang khá ph  bi n. Ta có th  t n d ng kho d  li u s

ồ ạ ả ổ kh ng l trên internet và kh  năng tính toán nhanh cho mô hình m ng.

ạ ượ ứ ổ ế ụ ươ M ng Neural đ c  ng d ng ph  bi n trong ph ụ ể ng pháp này. C  th

ề ớ ủ ư ữ ệ ả ầ ế ể ạ ấ ta đ a d  li u qua nhi u l p c a m ng Neural và l y k t qu  đ u ra đ  sao

ớ ữ ệ ẽ ệ ạ ầ ấ ỗ ớ ủ sánh v i d  li u hu n luy n. M i l p c a m ng s  phân tích đ u vào theo

ừ ượ ứ ạ ầ khía c nh khác nhau và m c tr u t ng tăng d n.

ươ ướ I.3. Ph ng h ứ ng nghiên c u bài toán:

ề ả ể ể ạ ậ ộ ổ Nh n d ng luôn là m t bài toán n n t ng đ  phát tri n bài toán t ng

ế ớ ộ ủ ế ụ ộ quát, chi ti ộ t v i đ  chính xác cao. Do đó, bài toán ph  thu c ch  y u vào b

ộ ữ ệ ượ ả ệ ớ ữ ệ d  li u. B  d  li u càng l n thì tính chính xác càng đ c c i thi n.

ả ủ ẽ ượ ế ứ ộ ứ ạ ụ K t qu  c a bài toán s  đ c áp d ng cho các m c đ  ph c t p chuyên

ư ệ ạ ậ ả ạ ơ ả sâu h n nh : phân lo i hoa qu , nh n d ng b nh trên qu ,…

ứ ả ụ ệ ầ ả ạ ươ Vi c áp d ng m ng neural vào nghiên c u đ m b o yêu c u: ph ng

ả ượ ữ ệ ư ầ ủ ớ ả ẩ ơ pháp đ n gi n, l ng d  li u đ a vào đ y đ , chính xác v i s n ph m hoa

ả ả ầ ự ế ộ qu  phù h p ợ ở ướ  n c ta, đ  chính xác khi k t qu  đ u ra d  đoán chính xác.

(cid:0)

9

ươ Ể Ạ Ch ng II: TÌM HI U M NG COUVOLUTIONAL NEURAL NETWOK

VÀ MÔ HÌNH M NGẠ

II.1. Couvolutional neural netwok là gì?

ậ ậ ạ ộ M ng neural tích ch p (Couvolutional neural netwok) là m t thu t toán

ể ấ ầ ả ố ọ ộ ọ deep learning có th  l y hình  nh đ u vào, gán đ  quan tr ng (tr ng s  và đ ộ

ố ượ ư ể ả ặ ệ l ch) cho các đ c tr ng và đ i t ng khác nhau trong hình  nh; có th  phân

ố ượ ư ặ ử ề ệ ớ bi ệ ượ t đ c đ c tr ng và đ i t ng này v i nhau. Công vi c ti n x  lý đ ượ   c

ề ậ ầ ạ ơ ớ yêu c u cho m ng neural tích ch p ít h n nhi u so v i các mô hình khác.

ươ ứ ơ ộ ọ ượ ế ế ằ ộ ớ Trong ph ng th c s  khai, các b  l c đ c thi t k  b ng tay, v i m t quá

ể ọ ọ ộ ọ ặ ư ệ ạ ấ ợ trình hu n luy n đ  ch n l c ra các b  l c đ c tr ng phù h p thì m ng neural

ậ ạ ự ọ ể ọ ộ ọ ư ặ ố ư ấ tích ch p l ả i có kh  năng t h c đ  ch n ra các b  l c, đ c tr ng t i  u nh t.

ậ ươ ế ự Ki n trúc neural tích ch p t ng t ế ố ủ  mô hình k t n i c a các neural

ộ ườ ượ ấ ả ứ ừ ộ ị trong b  não con ng i và đ c l y c m h ng t võ th  giác trong b  não. Các

ự ạ ả ứ ế ủ ớ ộ ỉ neural ch  ph n  ng v i các kích thích trong m t khu v c h n ch  c a tr ườ   ng

ọ ị ườ ộ ậ ế ậ ợ ườ ư ậ ế ậ th  giác g i là tr ng ti p nh n. M t t p h p tr ồ   ng ti p nh n nh  v y ch ng

ủ ể ườ lên nhau đ  bao ph  toàn tr ị ng th  giác.

10

ể ị ử II.2.L ch s  phát tri n:

ứ ủ ậ Nghiên c u trong th p niên 1950 và 1960 c a D.H Hubel và T.N Wiesel

ề ệ ấ ậ ộ ộ ộ ớ ậ   trên não đ ng v t đã đ  xu t m t mô hình m i cho vi c cách mà đ ng v t

ế ớ ả ạ ế ậ nhìn nh n th  gi i. Trong báo cáo hai ông đã mô t 2 lo i t bào neural trong

ế ả ơ ạ ộ não và cách ho t đ ng khác nhau: t bào đ n gi n (simple cell – S cell) và t ế

ứ ạ bào ph c t p (complex cell – C cell).

ế ả ượ ậ ạ Các t ơ  bào đ n gi n đ ơ   ạ c kích ho t khi nh n d ng các hình dáng đ n

ư ườ ả ự ố ị ủ ạ ằ ộ ộ gi n nh  đ ng n m trong m t khu v c c  đ nh và m t góc c nh c a nó. Các

ậ ớ ứ ạ ủ ế ầ ạ ế t ả   ơ  bào ph c t p có vùng ti p c n l n h n và đ u ra c a nó không nh y c m

ữ ị ố ị ớ v i nh ng v  trí c  đ nh trong vùng.

ậ ủ ế ị ươ ứ ớ ộ Trong th  giác, vùng ti p nh n c a neural t ng  ng v i m t vùng trên

ạ ơ ẽ ạ ươ ứ võng m c n i s  kích ho t neural t ng  ng.

ề ấ ạ ấ ậ ọ Năm 1980, Fukushima đ  xu t mô hình m ng neural có c p b c g i là

ự ệ ề ạ   neocoginitron,  Mô hình  này d a   trên khái  ni m  v  S  cell  và  C   cell.   M ng

ẫ ự ệ ọ ố ượ ể ậ ạ neocoginitron có th  nh n d ng m u d a vi c h c hình dáng đ i t ng.

ậ ượ ớ ệ ạ Sau đó năm 1988, M ng neural tích ch p đ c gi ở i thi u b i Bengio,

ầ ượ ọ LeCun, Bottou và Haffner. Mô hình đ u tiên đ c g i tên là LeNet­5. Mô hình

ữ ế ể ạ ậ này có th  nh n d ng ch  vi t tay.

11

ậ II.3 Phép tích ch p (Convulution Operation)

ư ộ ể ể ạ ộ ậ ố ộ Ta có th  hi u phép tích ch p gi ng nh  m t ho t đ ng tr n thông tin

ượ ươ ố ộ ạ ớ l i v i nhau. Phép toán này đ ử ụ c s  d ng t ề   ng đ i r ng rãi trong nhi u

ậ ọ ỹ ngành khoa h c và k  thu t khác nhau.

ẽ ạ ậ ọ ộ ữ Trong toán h c, phép tích ch p gi a hai hàm f và g s  t o ra m t hàm

ị ự ế ố ớ ổ ủ ứ ể ộ ạ th  ba bi u th  s  bi n đ i c a m t hàm đ i v i hàm còn l i. Xét hai hàm f và

ữ ậ ượ ị ư g, phép tích ch p gi a hai hàm này đ c đ nh nghĩa nh  sau:

12

13

ậ ớ

ặ ờ

ồ ặ

ư

ướ   c

ộ Hình .Hình  nh đ u vào 2D m t tr i tích ch p v i m t kernal.M t b n đ  đ c tr ng (feuturemap) có kích th ế

ả ừ

(N­2)x(N­2) là k t qu  t

ộ ả  phép tính.

ữ ề ậ ộ Chúng ta xem xét trong không gian m t chi u, phép tích ch p gi a hai

ượ ả ở ươ hàm f và g đ c mô t b i ph ng trình sau:

ố ớ ầ ư ề ầ ả Đ i v i đ u vào 2 chi u nh  hình  nh, chúng ta có đ u vào cho phép tích

ứ ầ ả ậ ấ ầ ộ ch p. Đ u vào th  nh t là m t hình  nh 2D, đ u vào còn l ạ ượ i đ ọ c g i là

ư ộ ọ ạ ộ ả ầ ặ ố kernel ho c mask ho t đ ng gi ng nh  b  l c (filter) cho hình  nh 2D đ u vào

ụ ể ộ ầ ạ ả ộ và t o ra m t hình  nh khác cho đ u ra. Chúng ta hãy xem xét c  th  m t 2D –

convolution:

14

.

ế ạ II.3. Ki n trúc m ng Couvolutional Neural Netwok:

ế ệ ề ạ ầ ắ Nguyên t c chung trong h u h t các m ng CNN hi n này đ u đ ượ   c

ế ế ư thi t k  nh  sau:

(cid:0) ử ụ ề ồ S  d ng nhi u Convolution Layer ch ng lên nhau.

ả ướ ỗ ầ (cid:0) Gi m d n kích th ầ c ouput m i t ng.

(cid:0) ầ ố ượ Tăng d n s  l ng Feature map.

ể ể ệ ấ ả ạ ỗ ầ   Mô hình m ng CNN dùng đ  hu n luy n và ki m tra, m i hình  nh đ u

ẽ ượ ộ ọ ậ ạ ộ ổ ớ vào s  đ ợ   ớ c qua m t lo t các l p tích ch p v i các b  l c (Kernals), t ng h p

ớ ượ ế ố ầ ủ ụ ạ l i các l p đ c k t n i đ y đ  (Full Connected) và áp d ng hàm Softmax đ ể

ạ ố ượ ấ phân lo i đ i t ng có xác su t 0 và 1.

II.3.1.

ậ ớ L p tích ch p –

Convolution Layer

ấ ậ ớ ọ ớ ớ   L p tích ch p (Convolution Layer) là l p quan tr ng nh t và cũng là l p

ủ ứ ệ ớ ặ   ầ đ u tiên c a mô hình CNN. L p này có ch c năng chính là phát hi n các đ c

ố ượ ư ệ ả ầ ố tr ng có tính không gian hi u qu . Trong t ng này có b n đ i t ng chính là:

ộ ọ ậ ầ ườ ế ậ ma tr n đ u vào, b  l c (filters), tr ng ti p nh n (receptive field) và Feature

map.

ề ẽ ậ ậ ầ ớ ộ ộ ọ   ộ L p tích ch p đ u vào này s  là m t ma tr n ba chi u và m t b  l c

ộ ọ ả ọ ứ ả ừ ể ầ c n   ph i   h c.   B   l c   này   s ẽ ượ   tr ậ   t   qua   t ng   b c   nh   đ   tích   ch p

ữ ộ ọ ầ ươ ứ ả ầ ươ ứ (Convolution) gi a b  l c và ph n t ng  ng trên b c  nh. Ph n t ứ   ng  ng

ườ ể ế ậ ọ này g i là tr ứ ng ti p nh n (receptive field), t c là vùng mà neural có th  nhìn

15

ể ư ế ị ậ ầ ọ ở th y đ  đ a ra quy t đ nh, và ma tr n cho ra b i quá trình này g i là Feature

map.

ụ ữ ệ ậ ầ ướ ộ ộ ọ Ví d , d  li u đ u vào là ma tr n có kích th c 8x8x1, m t b  l c có

ướ ướ ỗ ị kích th c 2x2x1, feature map có kích th c 7x7x1. M i giá tr  feature map

ượ ầ ử ươ ằ ủ ộ ọ ớ ườ ứ đ ổ c tính b ng t ng các ph n t t ng  ng c a b  l c 2x2x1 v i tr ế   ng ti p

ể ậ ả ấ ả ị nh n trên  nh. Và đ  tính t t c  các giá tr  cho feature map, ta tr ượ ộ ọ ừ  t b  l c t

ả ố ướ ứ ự ả trái qua ph i, trên xu ng d i. Do đó, phép convolution b o toàn th  t không

ể ả gian các đi m  nh.

ủ ớ ứ ư ệ ặ ủ   Ch c năng chính c a l p Convolution Layer là phát hi n đ c tr ng c a

ả ữ ư ư ặ ặ ồ ơ ả   nh (feature detector). Nh ng đ c tr ng này bao g m các đ c tr ng c  b n

ặ ặ ứ ạ ư ư ả ạ ắ ơ ư nh : góc, c nh, màu s c, ho c đ c tr ng ph c t p h n nh  texture  nh. Vì b ộ

ộ ứ ả ể ằ ở ấ ỳ ư ặ ọ l c quét qua toàn b  b c  nh nên đ c tr ng có th  n m b t k  đâu trong

ư ặ ậ ẫ ả ứ ả b c  nh, cho dù xoay trái hay ph i thì v n nh n ra đ c tr ng đó.

16

17

ộ ọ ụ ượ ủ ả ậ Trong ví d  trên, khi dùng b  l c tr t qua  nh c a nhân v t Olaf trong

ứ ả ữ ạ ấ ỉ ư ặ   ị ộ b  phim Frozen. Ta th y, ch  nh ng v  trí trên b c  nh có d ng góc nh  đ c

ở ị ớ ữ ớ ị ạ ư tr ng filter thì m i có giá tr  l n trên feature map, nh ng v  trí còn l i có giá

ị ấ ơ tr  th p h n.

ư ố ướ ướ ả Ngoài ra,  các tham s  nh : kích th ộ ọ c b  l c, b c nh y và padding

ọ ướ ộ ọ ỏ ườ ượ ư ơ cũng khá quan tr ng. Kích th c b  l c nh  th ng đ c  u tiên h n trong

ỡ ộ ọ ệ ấ ặ ườ ố ẻ ướ các mô hình hu n luy n, m t khác, kích c  b  l c th ng là s  l ả   . B c nh y

ể ệ ộ ọ ể ể ố ố ị ắ   th  hi n s  pixel d ch chuy n khi di chuy n b  l c. Tham s  padding kh c

ụ ả ả ạ ậ ỏ ị ph c tình tr ng ma tr n b  nh  đi khi qua các layer do đó đ m b o kích th ướ   c

ầ ủ ầ ể ự ệ ấ ệ . ban đ u c a đ u vào đ  th c hi n hu n luy n

ớ ế II.3.2. L p phi tuy n (Nonlinear Layer)

ể ế ổ ả ứ ế ớ L p này ch a các hàm phi tuy n đ  bi n đ i  nh.

ạ ạ ReLU (Rectified Linear Unit) là hàm kích ho t trong m ng CNN. Hàm

ượ ư ế ạ ả ộ ở này   đ ạ   ơ c   u   chu ng   b i   vì   tính   toán   đ n   gi n,   giúp   h n   ch   tình   tr ng

ả ố ơ ư ế vanishing gradient và cũng cho k t qu  t t h n. ReLU cũng nh  các hàm kích

ạ ượ ữ ẽ ầ ặ ị ho t khác đ c đ t ngay sau t ng convolution, ReLU s  gán nh ng giá tr  âm

ữ ị ầ ớ ơ ằ b ng 0, gi nguyên các giá tr  đ u vào khi l n h n 0.

ề ề ẩ ộ ấ ồ ạ ạ ạ ReLU cũng có m t v n đ  ti m  n đó là không t n t i đ o hàm t i 0,

ở ạ ể ớ ị ủ ế ế ọ giá tr  c a hàm ReLU có th  l n đ n vô cùng và n u không kh i t o tr ng s ố

ở ạ ố ộ ọ ữ ậ ặ ớ ẩ c n th n, ho c kh i t o t c đ  h c (learning rate) quá l n thì nh ng neural ở

ể ơ ế ạ ầ t ng này có th  r i vào tr ng thái ch t.

ộ ớ II.3.3. L p g p – Pooling Layer

ạ ườ ẽ ử ụ ầ Sau hàm kích ho t, thông th ng chúng ta s  s  d ng t ng pooling. M t s ộ ố

ổ ế ứ ư ạ ớ lo i pooling ph  bi n nh  max­pooling, average pooling, v i ch c năng chính

ề ầ ả ướ ộ ớ ướ ầ là gi m chi u t ng tr c đó. V i m t pooling kích th c 2x2, ta c n tr ượ ộ  t b

ả ướ ồ ủ ọ l c 2x2 này trên vùng  nh kích th c r i tính max, average c a vùng đó.

18

ưở ệ ố ủ ầ ị Ý t

ằ ả ế ị ư ng đ ng sau t ng pooling là v  trí tuy t đ i c a nh ng đ c tr ng  ữ  các ặ ữ ố ươ ng đ i gi t, thay vào đó v  trí t

ư trong không gian  nh không còn c n thi ủ ặ đ c tr ng đã đ  phân lo i đ i t ầ ạ ố ượ ng.

ớ ế ố ầ ủ II.3.4. L p k t n i đ y đ  ­ Fully Connected Layer

ầ ầ ầ T ng cu i cùng trong mô hình là t ng fully connected layer. T ng này có

ư ầ ướ ứ ấ c thành vector ch a xác su t

ầ ượ ự ố ể ng c n đ ứ ch c năng chuy n ma tr n đ c tr ng t ng tr ố ượ đ i t ậ ặ c d  đoán.

ố ộ ỗ

ấ Ngoài ra, cu i quá trình hu n luy n c n hàm tính đ  l ư ử ụ ệ ầ ậ

ậ ọ ố ự i sai s  d  đoán  và nhãn chính xác, cũng nh  s  d ng thu t toán backpropagation cho quá trình  ố ậ c p nh p tr ng s .

19

ươ Ứ Ụ Ch ng III:  NG D NG COUVOLUTIONAL NEURAL NETWORK

Ạ Ả Ậ CHO BÀI TOÁN NH N D NG HOA QU .

ơ ở ữ ệ ệ ấ III.1. C  s  d  li u hu n luy n:

ộ ả ủ ứ ả ệ Đ  phân gi i c a các b c  nh là 32x32 pixel, h  màu RGB.

ữ ệ ệ ả ấ ồ ồ ả D  li u hu n luy n g m 360  nh hoa qu  trong đó g m có:

(cid:0) ả ả 90  nh qu  táo

(cid:0) ả ả ố 89  nh qu  chu i

(cid:0) ả ả 91  nh qu  cam

(cid:0) ả ả 90  nh qu  nho.

ượ ự ệ ẩ ộ ữ ệ Các d  li u đã đ ử c gán nhãn và th c hi n x  lý đ  sáng và chu n hoá

ạ sang d ng xml.

ữ ệ ồ ồ ả D  li u test g m 60  nh trong đó g m có:

(cid:0) ả ả 20  nh qu  táo

(cid:0) ả ả ố 15  nh qu  chu i

(cid:0) ả ả 10  nh qu  cam

(cid:0) ả ả 10  nh qu  nho

(cid:0) ả ả ố 5  nh có c  táo và chu i

(cid:0) ả ả 5  nh có c  cam và táo

(cid:0) ạ ả ả ả 5  nh c  4 lo i qu

ữ ệ ượ ự ử ệ ộ D  li u test cũng đã đ ẩ   c gán nhãn, th c hi n x  lý đ  sáng và chu n

hoá   sang

ữ ệ ấ

ế Hình .D  li u ti n hành ệ hu n luy n

ạ d ng xml.

20

ự ệ ấ III.2. Xây d ng mô hình hu n luy n CNN

ạ III.2.1. T o project trên colab google:

ặ ả ầ ườ ể Đ u tiên, chúng ta ph i cài đ t môi tr ng trên google driver đ  thi ế   t

ị ị ườ ẫ ậ l p v  v  trí trên project và đ ng d n cho nó.

ườ Sau khi đã upload dataset theo đ

ờ ng   đây, chúng ta đã

ụ ụ ể

ườ

ể Hình . ki m tra đ

ư ệ ng d n trong dataset và khai báo th  vi n

ự ư ệ ể ạ d n ẫ dir_path = "gdrive/My Drive/Dataset/Fruit Images/". Gi ầ ẵ s n sàng đ  xây d ng và tranning mô hình ph c v  nhu c u bài toán. III.2.2. Khai báo th  vi n, ki m tra l i dataset.

21

ẽ ế ệ ượ ề Ti p theo chúng ta s  mã hoá các t p tin theo nhãn đã đ ử   c ti n x  lý

ụ ể ẽ trong dataset. C  th , chúng ta s  có 4 nhãn là apple, banana, mixed, orange;

ượ ư ề ừ ư ệ ế ả ộ chúng đ c l u trong 1 m ng array m t chi u t th  vi n numpy. Ti p theo

ở ạ ẽ ượ ữ ệ ả ộ ừ ậ t t p dataset ta s  kh i t o đ c m t m ng các d  li u và gán nhãn t ươ   ng

ứ ệ ươ ứ ả ấ ị ng mã hoá theo các giá tr  xu t hi n t ng  ng trong m ng.

ượ Sau khi đ ể ọ ấ   c mã hoá, ta có th  g i b t

ậ ỳ ộ ả k  m t  nh nào trong t p dataset

ỗ ợ ể ư ệ ư ệ b ngằ ị ả   th  vi n matplotlib, th  vi n này h  tr  hi n th   nh

ệ ố ị trên   hàm   s   xác   đ nh.   Tuy   nhiên,   h   màu   RGB   không

ượ ỗ ợ ư ệ đ c h  tr  trên th  vi n này.

ự ệ ấ III.2.3. Xây d ng, hu n luy n mô hình:

ự ạ ồ M ng CNN chúng ta xây d ng g m 11

ồ ớ   layer   ch ng   lên   nhau.   Ba   l p

ẽ ọ ầ ượ Convolution s  l c l n l ọ   t theo tr ng

ứ ỗ ầ ộ ớ ẽ ộ ỗ ố s  32,64,128. C  m i l n qua m i m t l p s  g p theo

ươ ph ng   pháp

maxpooling.

22

ự ế ạ ườ ẫ Sau khi xây d ng m ng, ta ti n hành khai báo d ng d n data train,

ế ậ

ế ướ

Hình . Thi

t l p các liên k t tr

c khi hu n luyên m ng

ể ự ư ệ ệ ạ test. Thi ế ậ ườ t l p đ ng l u tr ng thái sau khi train đ  th c hi n vi c test.

ế ậ ấ ả ờ ợ ế ế ạ ả Thi t l p xong t t c  ta ti n hàng train m ng và ch  đ i k t qu

23

Hình .Training CNN

ệ ế ấ ả III.3. K t qu  hu n luy n

ẳ ả ộ ộ ị Ph i kh ng đ nh là mô hình CNN là m t mô hình có đ  chính xác khá

cao.

ộ ộ Đ   chính   xác   trong   b   train   là

79,166%

ể ạ ộ ị Ki m   tra   l ậ i   b   test   nh n   đ nh   đúng

87.5%.

ể ạ Ki m tra l ộ   i m t

ườ tr ợ   ng   h p

ụ ể c  th  trong

m uẫ

dataset.

ộ B test

ả ậ ớ ị nh n đ nh trong  nh là apple. Đúng v i nhãn

đã   ghi   trong   bộ

test.

24

III.4. Bàn lu nậ

ả ạ ượ ớ ế ượ ữ ể ể ơ V i k t qu  đ t đ c, bài toán còn đ c phát tri n h n n a đ  tăng đ ộ

ẫ ầ ả ơ ữ ư ệ ộ ằ   chính xác h n n a. Đ  chính xác trên 80% nh ng v n c n c i thi n thêm b ng

ồ ổ cách b  sung thêm ngu n dataset.

ậ ạ ờ ươ ố ớ ậ ữ ệ ươ ố Th i gian nh n d ng t ng đ i nhanh đ i v i t p d  li u t ố   ng đ i

ệ ể ậ ố ỏ ườ ả nh  này. Do v y, mong mu n c i thi n và phát tri n trong môi tr ng dataset

ơ ớ l n h n

Ế ƯỚ Ế Ậ K T LU N VÀO H Ứ NG NGHIÊN C U TI P THEO

ệ ượ ự ế ả 1.K t qu  đã th c hi n đ c

ể ậ ạ ươ ế ậ Phát bi u khái quát bài toán nh n d ng, ph ng pháp ti p c n.

ượ ạ ớ ế Khái quát đ ồ c m ng CNN, mô hình g m các l p nào và chi ti t trong

ậ ạ ọ ộ mô hình. Mô t ả ượ  đ c phép tích ch p và quá trình g p, l c trong m ng.

ự ể Xây d ng thành công mô hình CNN trên colab tri n khai trên GPU thành

ớ ạ ậ công trên t p dataset gi i h n.

ứ ế ướ 2. H ng nghiên c u ti p theo:

ớ ấ ề ứ ự ế ủ ụ ề ạ ạ V i r t nhi u  ng d ng th c t c a m ng neural nhân t o, đ  tài có

ể ứ ụ ứ ề ắ ơ th   ng d ng cho nhi u mô hình nghiên c u sâu s c h n. Tuy nhiên, trong đ ề

ể ệ ư ượ ệ ấ ớ ướ tài ch a th  hi n đ c mô hình CNN m i nh t hi n nay nên h ng nghiên

ớ ẽ ậ ệ ả ể ệ ố   ệ ứ c u m i s  t p trung vào vi c c i thi n mô hình, phát tri n nó trong h  th ng

ầ ớ ơ ươ ứ data l n h n đáp  ng nhu c u trong t ng lai.

Ả Ệ TÀI LI U THAM KH O

1. Hough­CNN:  Deep  learning   for  segmentation  of  deep  brain  regions   in

MRI and ultrasound ­ ScienceDirect

2. Machine Learning for Computer Vision (ed.ac.uk)

3. Modulation Format Recognition and OSNR Estimation Using CNN­Based

Deep Learning | IEEE Journals & Magazine | IEEE Xplore

25

26