Quá trình huấn luyện mạng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng mạng nơ ron nhân tạo để dự đoán ứng xử của bê tông trong thí nghiệm nén một trục (Trang 43 - 48)

2.3. Mạng nơ – ron nhân tạo (ANN)

2.3.3. Quá trình huấn luyện mạng

Bản chất của quá trình huấn luyện là sự thay đổi các trọng số liên kết của mạng sao cho với mỗi véc – tơ đầu vào x, mạng có khả năng tạo ra véc – tơ đầu ra y tương đương với kết quả mong muốn từ thí nghiệm nén mẫu. Quá trình huấn luyện mạng ANN được thực hiện với phương pháp huấn luyện và thuật toán huấn luyện dưới đây.

2.3.3.1. Phương pháp huấn luyện mạng

Có ba phương pháp huấn luyện (phương pháp học) phổ biến: huấn luyện có giám sát (Supervised learning), huấn luyện không giám sát (Unsupervised learning) và huấn luyện tăng cường (Reinforcement learning).

Huấn luyện có giám sát: là q trình huấn luyện có sự tham gia của bộ dữ liệu mẫu. Tập dữ liệu D thu nhập thí nghiệm nén mẫu bê tơng được sử dụng cho huấn luyện mạng được gọi là tập huấn luyện. Các phần tử x thuộc D được gọi là các huấn luyện. Tập mẫu huấn luyện được cho dưới dạng D =( ) ( )x t, x t, IRNRK

Trong đó: xi =x x1, 2,...,xN, i=1,2,...,k là véc – tơ đặc trưng N chiều tương ứng với N biến đầu vào của mẫu huấn luyện và ti =t t1, ,...,2 tM,i=1,2,...,k là véc – tơ mục tiêu Mchiều tương ứng với M đầu ra của mơ hình. Q trình huấn luyện được sử dụng một thuật toán nhất định nhằm thiết lập mạng thần kinh nhân tạo với các trọng số tương ứng sao cho với mỗi véc – tơ đặc trưng đầu vào thì sai số giữa giá trị đầu ra tính tốn từ mạng và giá trị thực tương ứng trong tập mẫu là nhỏ nhất.

Huấn luyện khơng giám sát: là q trình huấn luyện khơng có sự tham gia của bộ dữ liệu mẫu. Tập dữ liệu huấn luyện D được thu thập từ thí nghiệm nén mẫu bê tơng D=(x x1, 2,...,xN), với (x x1, 2,...,xN)là véc – tơ đặc trưng của mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các véc – tơ đầu vào có đặc trưng giống nhau.

Huấn luyện tăng cường: là sự tổ hợp của cả hai mơ hình trên. Phương pháp này cụ thể như sau: với véc – tơ đầu vào, ta quan sát véc – tơ đầu ra do mạng tính được. Nếu kết quả được xem là đáng tin cậy thì mạng sẽ được “thưởng” theo nghĩa tăng trọng số kết nối lên; ngược lại mạng sẽ bị “phạt”, các trọng số kết nối khơng

thích hợp sẽ được giảm xuống.

Nhận thấy, phương pháp huấn luyện không giám sát với số lớp phân loại chưa được biết và tùy theo tiêu chuẩn đánh giá độ tương tự giữa các mẫu mà ta có thể có các lớp phân loại khác nhau. Phương pháp huấn luyện có giám sát cho độ chính xác cao với sai số nhỏ nhất, vì vậy ở phạm vi luận văn tác giả sử dụng phương pháp huấn luyện có giám sát kết hợp học tăng cường vào mơ hình huấn luyện mạng.

2.3.3.2. Thuật toán lan truyền ngược (Backpropagation algorithm)

Có nhiều thuật tốn và luật học khác nhau, trong luận văn thuật toán huấn luyện được sử dụng là thuật toán lan truyền ngược. Thuật toán lan truyền ngược được áp dụng cho mạng truyền thẳng nhiều lớp trong đó các nơ – ron có thể sử dụng các hàm truyền là các hàm liên tục có các dạng khác nhau. Thuật toán này cho phép xác định trọng số tốt nhất của mạng thơng qua việc giải các bài tốn tối ưu với hàm mục tiêu là cực tiểu bình phương sai số giữa đầu ra thu được từ mơ hình ANN và đầu ra ghi nhận từ bộ mẫu thực nghiệm. Việc áp dụng phương pháp lan truyền ngược là 1 quá trình lặp đi lặp lại nhiều lần qua 2 tiến trình: tiến trình xi từ đầu vào đến đầu ra để tính tốn đầu ra theo cấu trúc mạng đã chọn và tiến trình lan truyền ngược sai số để cập nhật trọng số nhằm tìm ra bộ trọng số tốt nhất cho mạng. Trong quá trình huấn luyện này, bộ mẫu được chia làm 2 phần với tỷ lệ do người dùng quyết định hoặc sử dụng giá trị đề xuất từ Matlab. Một phần bộ mẫu được dùng để trực tiếp huấn luyện mơ hình thơng qua việc điều chỉnh bộ trọng số từ giá trị sai số. Phần còn lại được sử dụng để kiểm tra, đánh giá hiệu quả xấp xỉ của mơ hình sau khi kết thúc q trình huấn luyện. Việc kiểm tra này được thực hiện bằng cách sử dụng đầu vào từ các bộ mẫu này để tính tốn đầu ra bằng mạng ANN vừa huấn luyện, sau đó so sánh với giá trị đầu ra của bộ mẫu. Từ đó đánh giá mức độ chính xác của mơ hình vừa huấn luyện. Thuật tốn lan truyền ngược được áp dụng trong luận văn mô tả như sau:

Input:

- Mạng Feed – forward với N đầu vào, Hnút ẩn và M đầu ra. - Hệ số học .

29

Output: Các véc – tơ trọng số.

Thuật toán:

Bước 1: Khởi tạo trọng số bởi các giá trị ngẫu nhiên nhỏ. Bước 2: Lặp lại cho tới khi thỏa mãn điều kiện kết thúc.

Với mỗi vịng lặp, có các bước thực hiện: Tính giá trị đầu ra oj cho mỗi nút j:

( )

j j

o = f db [2.21]

Với d =x wji ji và mỗi nút k thuộc lớp đầu ra, tính k theo cơng thức:

(1 ) ( )(1 )

k ek o ok k tk ok o ok k

 = − = − − [2.22]

Với mỗi nút h thuộc lớp ẩn, tính h theo công thức:

(1 ) h oh ok kwkh  = −  [2.23] Với kDownstream j( ) Cập nhật giá trị trọng số cho từng nút: ji ji ji w =w + w [2.24] Với wji = −kxji [2.25] Trong đó: - j: nơ – ron thứ j (nút thứ j).

- xji : đầu vào của nút thứ j từ nút thứ i. - wji: trọng số trên xji.

- bj : ngưỡng tại nút thứ j. - oj : đầu ra của nút thứ j. - ej: sai số tại nút thứ j.

- tj : đầu ra mong muốn của nút thứ j.

- Downstream(j) là tập tất cả các nút đầu ra của nút thứ j làm 1 giá trị đầu vào. - : tốc độ học, f : hàm truyền.

Để làm tăng độ chính xác và tốc độ hội tụ cho bài tốn tìm trọng số, rất nhiều giải thuật tối ưu đã được nghiên cứu và sử dụng trong suốt quá trình phát triển của mạng ANN. Một số giải thuật tiêu biểu có thể kể đến như phương pháp Gradient descent, Newton, Batch training, Fletcher – Reeves…

Trong số đó giải thuật thường được sử dụng và mang lại hiệu quả tương đối cao là giải thuật huấn luyện Levenberg – Marquardt (TRAINLM). Giải thuật huấn

luyện là lựa chọn hàng đầu cho quá trình huấn luyện có giám sát (Supervised learning).

2.3.3.3. Giải thuật huấn luyện Levenberg – Marquardt (TRAINLM)

Ở giải thuật huấn luyện Levenberg – Marquardt (TRAINLM), trọng số được hiệu chỉnh sử dụng 1 dạng xấp xỉ của ma trận Hessian.

1

T T

ji

w   −

 = −J J+ IJ e [2.26]

Trong đó: - J: ma trận Jacobian đạo hàm riêng bậc nhất của sai số với trọng số wij:

( )(1 ) j ij j j j j i ji e J t o o o x w  = = − − [2.27]

- e là véc – tơ chưa sai số của từng nút ej = −tj oj. - I là ma trận đơn vị.

-  là thông số hiệu chỉnh quá trình huấn luyện.

Nếu giá trị  =0 thì thuật tốn huấn luyện này sẽ trở thành thuật toán Newton. Trong trường hợp giá trị  lớn, thuật toán này trở thành Gradient descent.

Giải thuật Levenberg – Marquardt phù hợp với mạng Feedforward kích thước nhỏ (có thể lên đến vài trăm trọng số). Trở ngại chính của thuật tốn này là u cầu lưu trữ nhiều vì ma trận kích thước khá lớn.

2.3.3.4. Xây dựng mạng nơ – ron nhân tạo (ANN) sử dụng Toolbox – Matlab

Mơ hình ANN được sử dụng nhiều trong nghiên cứu và được đưa vào Matlab như là một toolbox. Toolbox trong Matlab được nghiên cứu và phát triển lần đầu tiên bởi Howard B. Demuth và Mark Hudson Beale của trường đại học Idaho. Sau nhiều năm nghiên cứu, các nhà khoa học máy tính đã xuất bản cuốn sách Neural Network

31

Toolbox [40] vào năm 1996 và đến nay toolbox này ngày càng được phát triển, hoàn

thiện và ứng dụng cao.

Trong luận văn, mạng nơ – ron nhân tạo ANN được xây dựng như sau: đầu tiên, bộ dữ liệu mẫu thu thập được từ kết quả nén mẫu bê tông thể hiện quan hệ giữa ứng suất và biến dạng được lưu thành bảng trong Excel. Sau đó, dùng lệnh “Xlsread” trong Matlab để nhập bộ dữ liệu mẫu vào Matlab.

Sau khi đã có bộ dữ liệu đầu vào, ta bắt đầu xây dựng mạng ANN truyền thẳng nhiều lớp bằng lệnh “Newff” với câu lệnh:

( , , , , )

net=newff P T S TF BTF [2.28] Trong đó : - P: véc – tơ đầu vào.

- T: véc – tơ đầu ra.

- Si : kích cỡ của N−1 lớp ẩn.

- TFi: hàm truyền của lớp thứ i, mặc định là hàm “tansig” đối với lớp ẩn, hàm

“pureline” đối với lớp đầu ra.

- BTF: hàm thuật toán lan truyền ngược, sử dụng hàm “trainlm” của Matlab. Sau khi xây dựng mơ hình mạng ANN, lệnh “train” được dùng để huấn luyện mạng với câu lệnh:

( , , )

net=train net X T [2.29] Trong đó :

- net: mơ hình mạng ANN đã được thiết lập trên. - X : Tập giá trị đầu vào.

- T: Tập giá trị đầu ra.

Giá trị hồi quy R được xét đến trong quá trình đánh giá:

( ) ( ) 2 1 1 1 n j j j n j j t o R o = = − = −  [2.30]

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng mạng nơ ron nhân tạo để dự đoán ứng xử của bê tông trong thí nghiệm nén một trục (Trang 43 - 48)