Xác định các tham số cho mạng

Một phần của tài liệu Nghiên cứu mô hình học sâu (deep learning) và ứng dụng trong nhận dạng chữ viết tay (Trang 40 - 43)

CHƯƠNG 2: MÔ HÌNH MẠNG NEURON VÀ MÔ HÌNH HỌC SÂU

2.2. Mô hình học sâu

2.2.1. Mạng nhiều tầng truyền thẳng (MLP)

2.2.1.2. Xác định các tham số cho mạng

Không phải bất kỳ hàm truyền nào cũng cho kết quả như mong muốn. 

Để  trả  lời  cho  câu  hỏi “hàm truyền như thế nào được coi là tốt?”  là  điều  không hề đơn giản. Có một số quy tắc khi chọn hàm truyền như sau: 

  Không  dùng  hàm  truyền  tuyến  tính  ở  tầng  ẩn.  Vì  nếu  dùng  hàm  truyền tuyến tính ở tầng ẩn thì sẽ làm mất vai trò của tầng ẩn đó: Xét tầng ẩn  thứ i:  

Tổng trọng số niwai i  1 bi 

i  i f i f

af nw nb (hàm truyền tuyến tính)   Khi đó: tổng trọng số tại tầng thứ (i + 1)  

 

1 1

1 1

1

1        1

  1

  1

 

i i i i

i f i f i

i f i i i f i

i

n w a b

w w n b b

w w w a b b b

Wa b

 

   

   

   

 

 

 

  

 

 

Như vậyni1 Wai1     b, và tầng i đã không còn giá trị nữa.  

 Chọn các hàm truyền sao cho kiến trúc mạng neuron là đối xứng (tức  là  với  đầu  vào  ngẫu  nhiên  thì  đầu  ra  có  phân  bố  đối  xứng).  Nếu  một  mạng  neuron không đối xứng thì giá trị đầu ra sẽ lệch sang một bên, không phân tán  lên  toàn  bộ  miền  giá  trị  của  output.  Điều  này  có  thể  làm  cho  mạng  rơi  vào  trạng thái bão hòa, không thoát ra được.  

Trong thực tế người ta thường sử dụng các hàm truyền dạng – S. Một  hàm s(u) được gọi là hàm truyền dạng – S nếu nó thỏa mãn 3 tính chất sau:  

s(u) là hàm bị chặn: tức là tồn tại các hằng số C1 ≤ C2 sao cho: C1 ≤  s(u) ≤ C2 với mọi u.  

s(u) là hàm đơn điệu tăng: giá trị của s(u) luôn tăng khi u tăng. Do tính  chất thứ nhất, s(u) bị chặn, nên s(u) sẽ tiệm cận tới giá trị cận trên khi u dần  tới dương vô cùng, và tiệm cận giá trị cận dưới khi u dần tới âm vô cùng.  

s(u) là hàm khả vi: tức là s(u) liên tục và có đạo hàm trên toàn trục số.  

Một  hàm  truyền  dạng  -  S  điển  hình  và  được  áp  dụng  rộng  rãi  là  hàm  Sigmoid.  

b. Xác định số neuron tầng ẩn

Câu hỏi chọn số lượng noron trong tầng ẩn của một mạng MLP thế nào  là khó, nó phụ thuộc vào bài toán cụ thể và vào kinh nghiệm của nhà thiết kế  mạng. Nếu tập dữ liệu huấn luyện được chia thành các nhóm với các đặc tính  tương  tự  nhau  thì  số  lượng  các  nhóm  này  có  thể  được  sử  dụng  để  chọn  số  lượng neuron ẩn. Trong trường hợp dữ liệu huấn luyện nằm rải rác và không  chứa các đặc tính chung, số lượng kết nối có thể gần bằng với số lượng các 

mẫu  huấn  luyện  để  mạng  có  thể  hội  tụ.  Có  nhiều  đề  nghị  cho  việc  chọn  số  lượng  neuron  tầng  ẩn  h  trong  một  mạng  MLP.  Chẳng  hạn  h  phải  thỏa  mãn  h>(p-1)/(n+2), trong  đó  p  là số lượng  mẫu  huấn  luyện  và  n  là  số  lượng  đầu  vào của mạng. Càng nhiều nút ẩn trong mạng, thì càng nhiều đặc tính của dữ  liệu huấn luyện sẽ được mạng nắm bắt, nhưng thời gian học sẽ càng tăng.  

Một kinh nghiệm khác cho việc chọn số lượng nút ẩn là số lượng nút ẩn  bằng với số tối ưu các cụm mờ (fuzzy clusters). Phát biểu này đã được chứng  minh bằng thực nghiệm. Việc chọn số tầng ẩn cũng là một nhiệm vụ khó. Rất  nhiều bài toán đòi hỏi nhiều hơn một tầng ẩn để có thể giải quyết tốt.  

Để  tìm  ra  mô  hình  mạng  neuron  tốt  nhất,  Ishikawa  and  Moriyama  (1995) sử dụng học cấu trúc có quên (structural leanrning with forgetting), tức  là  trong  thời  gian  học  cắt  bỏ  đi  các  liên  kết  có  trọng  số  nhỏ.  Sau  khi  huấn  luyện,  chỉ  các  noron  có  đóng  góp  vào  giải  quyết  bài  toán  mới  được giữ  lại,  chúng sẽ tạo nên bộ xương cho mô hình mạng neuron.  

c. Khởi tạo trọng

Trọng thường được khởi tạo bằng phương pháp thử sai, nó mang tính  chất kinh nghiệm và phụ thuộc vào từng bài toán. Việc định nghĩ thế nào là  một bộ trọng tốt cũng không hề đơn giản. Một số quy tắc khi khởi tạo trọng:  

 Khởi tạo trọng số sao cho mạng neuron thu được là cân bằng (với đầu  vào ngẫu nhiên thì sai số lan truyền ngược cho các ma trận trọng số là xấp xỉ  bằng nhau):  

1/ 1 2/ 2 3/ 3

W W W W W W

      

Nếu mạng neuron không cân bằng thì quá trình thay đổi trọng số ở một  số ma trận là rất nhanh trong khi ở một số ma trận khác lại rất chậm, thậm chí  không đáng kể. Do đó để các ma trận này đạt tới giá trị tối ưu sẽ mất rất nhiều  thời gian.  

  Tạo  trọng  sao  cho giá trị  kết  xuất  của  các  nút  có giá  trị  trung  gian. 

(0.5 nếu hàm truyền là hàm Sigmoid). Rõ ràng nếu ta không biết gì về giá trị  kết xuất thì giá trị ở giữa là hợp lý. Điều này cũng giúp ta tránh được các giá  trị thái quá.  

Thủ tục khởi tạo trọng thường được áp dụng:  

B1: Khởi tạo các trọng số nút ẩn (và các trọng số của các cung liên kết  trực tiếp giữa nút nhập và nút xuất, nếu có) giá trị ngẫu nhiên, nhỏ, phân bố  đều quanh 0.  

B2: Khởi tạo một nửa số trọng số của nút xuất giá trị 1, nửa kia giá trị -1.  

Một phần của tài liệu Nghiên cứu mô hình học sâu (deep learning) và ứng dụng trong nhận dạng chữ viết tay (Trang 40 - 43)

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

(72 trang)