Cấu tạo và phƣơng thức làm việc của mạng neural nhân tạo – ANN

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, cải thiện kỹ thuật mô hình vỉa nứt nẻ liên tục (CFM), áp dụng cho mỏ của việt nam (Trang 30)

Chƣơng 1 KỸ THUẬT MÔ HÌNH VỈA NỨT NẺ LIÊN TỤC

2.2. Mạng thần kinh nhân tạo xây dựng cƣờng độ nứt nẻ

2.2.3. Cấu tạo và phƣơng thức làm việc của mạng neural nhân tạo – ANN

Mạng neural nhân tạo đƣợc xây dựng từ các đơn vị xử lý (các nút) và các liên kết giữa chúng. Mỗi nút (hay còn gọi là một đơn vị xử lý trong mạng) chỉ có một liên kết đầu ra, nhứng có thể có nhiều liên kết đầu vào (nhƣ hình 2.13). Mỗi liên kết chỉ mạng một tín hiệu tại một thời điểm. Tín hiệu di chuyển trong liên kết theo hƣớng của liên kết đƣợc quy định từ trƣớc, và không bao giờ thay đổi. Mỗi một nút (hay một đơn vị xử lý trong mạng) có một bộ nhớ địa phƣơng, nó là tập hợp của các số thực, thƣờng đƣợc gọi là trọng số. Mỗi trọng số đó đƣợc gán tƣơng ứng với một liên kết tới nút, nó đặc trƣng cho mức độ ý nghĩa của liên kết tƣơng ứng. Mỗi nút (hay một đơn vị xử lý trong mạng) đƣợc gán cho một hàm truyền (active function), hàm này có thể là hàm gaussian, hàm sigmoid hay các hàm ngƣỡng nhị phân,.... Hàm truyền của mỗi nút sẽ nhận giá trị là tổ hợp của các tín hiệu tới nút đó với trọng số tƣơng ứng (một số dạng hàm truyền cơ bản nhƣ đã nêu ở mục trƣớc).

Nếu mạng neural nhân tạo đƣợc xắp xếp theo các lớp thì theo đó các liên kết chỉ xuất hiện từ các neuron của lớp này đến các neuron của lớp khác (không có liên kết giữa các neuron trong cùng một lớp), và các liên kết trong mạng cùng hƣớng với nhau đƣợc gọi là mạng nhiều lớp chuyển thẳng (multi layers feedforward), hay có tài liệu còn gọi là mạng dẫn tiễn, hình 2.13

Hình 2.13: Mạng thần kinh nhân tạo nhiều lớp truyền thẳng

Trái với mạng neural nhiều lớp truyền thẳng mạng neural quy hồi là những mạng có kiến trúc với hai luồng dữ liệu đi theo hƣớng khác nhau. Trong khi mạng truyền thẳng truyền dữ liệu theo một phƣơng thì những mạng neural quy hồi có ít nhất một liên kết đƣa tính hiệu phản hồi từ những neuron xử lý sau quay trở lại các neuron xử lý trƣớc đó (hình 2.14).

Hình 2.14: Mang thần kinh nhân tạo quy hồi 2.2.4. Các luật học 2.2.4. Các luật học

Có ba luật học chính, mỗi kiểu tƣơng tƣơng ứng với một nhiệm vụ. Đó là học có giám sát, học không có giám sát và học củng cố. Thông thƣờng, loại kiến trúc mạng nào cũng có thể dùng đƣợc cho các nhiệm vụ trên.

- Học có giám sát: là quá trình học có tín hiệu chỉ đạo từ bên ngoài d Trong học có giám sát, tại mỗi thời điểm khi tín hiệu đầu vào đƣợc đƣa vào mạng neural, phản ứng đầu ra mong muốn d và đầu ra của mạng y sẽ đƣợc so sánh trong máy phát tín hiệu lỗi. Máy này sẽ ra hiệu cho mạng để hiệu chỉnh các trọng số trong mạng, và với cách hiệu chỉnh này thì kết quả đầu ra của mạng neural ysẽ tiến gần đến đầu ra mong muốn d sau mỗi bƣớc lặp (sơ đồ nhƣ hình 2.15). - Học củng cố: tín hiệu chủ đạo d có thể lấy từ môi trƣờng bên ngoài, nhƣng tín

hiệu này không đƣợc đầy đủ, mà chỉ có một vài bite đại diện có tính chất kiểm tra quá trình tốt hay xấu. Học củng cố cũng là một dạng của học có giám sát, bởi vì mạng vẫn cần nhận đƣợc một số tín hiệu từ bên ngoài. Những tín hiệu phản hồi chỉ mang tính chất đánh giá hơn là mang tính chất chỉ dẫn. Nó cho biết đƣợc mức độ tốt hay xấu của một đầu ra xác định.

- Học không giám sát: Đối với luật học không giám sát, sẽ không có tín hiệu hƣớng dẫn, tức là không có tín hiệu d cung cấp tới mạch phản hồi. Điều này cho thấy, ta sẽ không biết đầu ra đạt giá trị gì. Với loại mạng này, thì các neuron tự xoay sở với các dữ liệu mẫu mà nó có đƣợc chứ không có "thầy" gợi

ý cần luyện theo hƣớng nào. Mạng phải tự khám phá mẫu, trong khi khám phá các đặc tính này, tham số của mạng sẽ bị thay đổi. Một ví dụ điển hình là quá trình phân loại đối tƣợng không có "thầy", mạng sẽ tự khám phá sự tƣơng tự và không tƣơng tự trong số các mẫu đối tƣợng, sơ đồ nhƣ hình 2.16.

Hình 2.15: Sơ đồ luật học có giám sát.

Hình 2.16: Sơ đồ luật học không giám sát.

x ANN y, Đầu ra của mạng Máy phát tín hiệu lỗi x ANN y, Đầu ra của mạng

Kể từ năm 1943 khi McCulloch và Pitts đề xuất mô hình đầu tiên của mạng neural nhân tạo cho đến ngày nay rất nhiều tác giả đã nghiên cứu và đề xuất ra nhiều loại mạng thần kinh nhân tạo và ứng dụng các luật học khác nhau, nhƣ Mạng Perceptron, mạng Hopfield đƣợc phát minh bởi John Hopfiled, mạng BAM, hay mạng Kohonen,…[13] [22] [26].

Mỗi mạng thần kinh nhân tạo lại có cấu trúc và ƣu nhƣợc điểm riêng. Trong một số công trình trƣớc đây, các tác giả nhƣ A.Ouenes [6-9] [18], hay tác giả Abdelkader Kouider El Ouahed [1] đã chứng minh tính hiệu quả của mạng nhiều lớp truyền thẳng và áp dụng luật học có giám sát cho bài toán xây dựng đặc trƣng nứt nẻ của vỉa nứt nẻ tự nhiên (NFR). Chính vì vậy trong nghiên cứu này tiếp tục sử dụng loại mạng truyền thẳng và luật học này.

2.2.4.5. Mạng neural nhân tạo nhiều lớp truyền thằng

Mạng neural nhân tạo (ANN) nhiều lớp truyền thằng là loại mạng có cấu trúc phân lớp nhƣ hình 2.17. Mặc dù có khá nhiều biến thể của kiểu mạng này nhƣng đặc trƣng nổi bật của nó là cấu trúc và thuật toán học đơn giản [24] [26]. Trong kiểu mạng này nói chung có thể phân ra làm ba lớp chính, đó là lớp đầu vào, lớp ẩn, và lớp đầu ra.

Hình 2.17: Mạng thần kinh nhân tạo 3 lớp truyền thẳng

. . . . . . . . . Lớp đầu vào Lớp ẩn 1 H Lớp đầu ra 1 I 2 I n I 1 w 2 w m H 1 O o O

Lớp đầu vào (input layer) là lớp chứa các neuron đầu tiên nhận tính hiệu

, 1,

i

x in. Mỗi tín hiệu xi đƣợc đƣa tƣơng ứng tới neuron thứ i của lớp đầu vào. Thông thƣờng, các neuron đầu vào không làm biến đổi tín hiệu, chúng không chứa bất cứ một kiểu hàm truyền nào, các neuron này chỉ đóng vai trò phân phối tín hiệu tới lớp liền sau nó.

Lớp ẩn (hidden layer), là lớp chứa các neuron nằm ngay sau lớp đầu vào, chúng không trức tiếp liên hệ với mối trƣờng tín hiệu bên ngoài nhƣ các lớp đầu vào, và lớp đầu ra, khả năng làm việc của mạng neural nhân tạo phụ thuộc rất lớn vào lớp ẩn này. Một mạng neural nhân tạo nhiều nhiều lớp truyền thẳng có thể chứa một hay nhiều lớp ẩn.

Lớp đầu ra (output layer) ra lớp chứa các neuron tạo ra tính hiệu ra cuối cùng.

2.2.6. Thiết kế cấu trúc của mạng neural nhân tạo nhiều lớp truyền thẳng

Mặc dù về mặt lý thuyết, luôn tồn tại một mạng nhiều lớp truyền thẳng có thể làm việc với một bài toán với độ chính xác bất kỳ [26]. Tuy nhiên, để có thể tìm ra cấu trúc của mạng này là điều không hề đơn giản. Để xác định chính xác một kiến trúc mạng nhƣ: cần bao nhiêu lớp ẩn ?; số phần tử trong lớp ẩn là bao nhiêu ?, để giải đƣợc những câu hỏi trên là một công việc khó khăn và phụ thuộc vào từng bài toán cụ thể [22].

2.2.6.1. Số lớp ẩn

Trong các nghiên cứu trƣớc đây về mạng thần kinh nhân tạo đã chỉ ra trên lý thuyết một mạng 3 lớp truyền thẳng (với 1 lớp ẩn) là đủ để xấp xỉ mọi mối quan hệ, cơ sở toán học của việc khẳng định rằng mạng thần kinh nhân tạo ba lớp truyền thẳng là công cụ xấp xỉ vạn năng các hàm số liên tục dựa trên các định lý Stone – Weierstrass và Kolmogorov [26] . Việc sử dụng định lý Stone – Weierstrass để chứng minh khả năng xấp xỉ của mạng thần kinh nhân tạo đã đƣợc các tác giả Hornik et al. Funahashi, Cotter, Blum đã ra từ năm 1989. Tuy nhiên trên thực tế, khi đối mặt với một số bài toán phức tạp một số nghiên cứu vẫn phải sử dụng tới loại mạng sâu hơn với hai lớp ẩn nhƣ bài toán mô phỏng hai dòng xoáy [10] [11], bài toán mô phỏng đặc trƣng nứt nẻ trong vỉa nứt nẻ tự nhiên của tác giả Abdelkader Kouider El Ouahed [1],... Tuy nhiên khi sử dụng nhiều lớp ẩn, một số khó khăn gặp phải là:

- Phần lớn các thuật toán huấn luyện cho mạng thần kinh nhân tạo đều dựa trên các gradient (thuật toán gradient descent). Việc tăng thêm các lớp ẩn sẽ làm cho vector gradient không ổn định. Sự thành công của bất kỳ một thuật toán tối ƣu

theo gradient phụ thuộc rất lớn vào độ thay đổi của hƣớng khi mà các tham số thay đổi [26].

- Khi tăng thêm các lớp ẩn sẽ làm tăng thêm số lƣợng các cực trị địa phƣơng. Các thuật toán tối ƣu dựa trên gradient thƣờng sẽ bị bẫy ở cực trị địa phƣơng gần điểm xuất phát nhất [21] [22] [26].

2.2.6.2. Số đơn vị trong lớp ẩn

Một vấn đề quan trong trong việc thiết kế mạng neural nhân tạo nhiều lớp truyền thẳng là cần phải sử dụng bao nhiêu đơn vị trong mỗi lớp ẩn. Sử dụng quá ít đơn vị có thể dẫn đến việc mạng hoạt động mà không hội tụ, hay thiếu ăn khớp (underfitting). Sử dụng quá nhiều đơn vị sẽ làm cho mạng hoạt động chậm, ra tăng thời gian huấn luyện mạng, nếu số lƣợng đơn vị trong lớp ẩn là quá lớn còn có thể gây ra lỗi quá khớp (overfitting)[14] [22] [26]. Có một số phƣơng pháp mang tính kỹ thuật đề chọn lựa số phẩn tử trong các lớp ẩn:

- mn O, nằm giữa khoảng kích thƣớc lớp đầu vào và lớp đầu ra, trong đó m

là số đơn vị trong lớp ẩn, n là số đơn vị trong lớp đầu vào, O là số đơn vị trong lớp đầu ra (nhƣ ký hiệu trong hình 2.17).

- 2 

3

m O

m

 tổng kích thƣớc của lớp đầu vào và lớp đầu ra. - m2n kích thƣớc lớp ẩn nhỏ hơn hai lần kích thƣớc lớp đầu vào.

- mOn kích thƣớc lớp ẩn bằng căn bậc hai của tích kích thƣớc lớp đầu vào và đầu ra.

Các quy luật nói trên chỉ là các lựa chọn thô ban đầu, chúng không phản ánh đƣợc thực tế, bởi lẽ chúng chỉ xem xét đến nhân tố kích thƣớc của đầu vào và đầu ra mà bỏ qua các tác nhân quan trọng khác: nhƣ số mẫu huấn luyện, độ nhiễu ở đầu ra mục tiêu, độ phức tạp của hàm sai số, và luật học.

Năm 1991 Falman có trình bày một loại kiến trúc mạng phân lớp truyền thẳng và gọi nó là Cascade Correlation Neural Network – CCNN, mạng này có thể tự xây dựng số lớp ẩn và các liên kết dựa vào hai pha là pha đề cử và pha chặt tỉa các liên kết nội [11] [12], nhƣng trong nội dung luận văn này không đề cập đến loại mạng này.

2.2.7. Thuật toán lan truyền ngƣợc

Thuật toán lan truyền ngƣợc đƣợc phát minh bởi Rumelhart vào năm 1986 [22] [24] [26]. Thuật toán này là một phƣơng pháp cho phép xác định trọng số của mạng sao cho độ lệch giữa đầu ra mục tiêu và đầu ra thực của mạng là nhỏ nhất.

Việc áp dụng thuật toán lan truyền ngƣợc là một quá trình lặp đi lặp lại hai tiến trình chính, đó là: lan truyền tiến (forward) để thực hiện ánh xạ, và lan truyền ngƣợc (backward) sai số để cập nhật các trọng số.

Mỗi cặp đầu vào, đầu ra mục tiêu đƣợc gọi là một mẫu. Thông qua sự sai khác giữa đầu ra của mạng thần kinh nhân tạo và đầu ra mục tiêu mà mạng sẽ quyết định có huấn luyện tiếp hay dừng, chính vì vậy hàm đo sai số rất quan trong, nó vừa phải: vừa đại diện đƣợc cho sai số của mô hình, vừa phải có biểu thức đạo hàm riêng ít nhất cấp một đơn giản, trong nghiên cứu này sử dụng hàm:

(2.9)

Trong đó:

:ROROR

E

O

R^ là không gian thực O chiều, E là một metric trên R.

Mạng thần kinh nhân tạo trong quá trình luyện tập từng bƣớc một sẽ cực tiểu hóa hàm mục tiêu, đa phần các phƣơng pháp cực tiểu hóa hàm đƣợc chia thành hai loại (Fahlman, 1988): loại thứ nhất sử dụng các đạo hàm riêng bậc nhất của hàm sai số E

nhƣ phƣơng pháp gradient tiêu chuẩn, Rprop [22] [25]…, loại thứ hai sử dụng các đạo hàm riêng bậc hai nhƣ thuật toán lan truyền ngƣợc bậc hai [21] [22] [25].Trong luận văn này sử dụng phƣơng pháp gradient tiêu chuẩn với hệ số học toàn cục [26]. Trọng số đƣợc điều chỉnh sau mỗi bƣớc theo biểu thức (2.10) [13] [25] [26]:

 1    , , 0.5, 1,3. h h h h h ij t t t w h                         w w w w E E (2.10)

Thuật toán lan truyền ngƣợc nhƣ sau:

- Cài đặt các giá trị trọng số ban đầu cho mạng, đó là các giá trị ngẫu nhiên tƣơng đối nhỏ.

- Biểu diễn các cặp đầu vào-đầu ra mong muốn từ tập các mẫu luyện tập. Với mỗi giá trị đầu vào, thông qua mạng ta tính đƣợc các đầu ra của mạng tƣơng ứng với đầu vào.

- Hàm sai số là một hàm xác định sự sai khác giữa đầu ra của mạng và đầu ra mong muốn từ mẫu, nó là một hàm với biến số là các trọng số, đƣợc ký hiệu là E.

- Tính các gradient tƣơng ứng với các trọng số. - Cập nhật các trọng số theo biểu thức (2.10).

- Chọn một mẫu khác trong tập mẫu luyện tập đến khi nào hàm sai số trên tập huấn luyện giảm đi nhỏ hơn một giá trị mà ta muốn, hoặc sai số trên tập kiểm tra tăng lên.

2.2.7.1. Áp dụng với mạng thần kinh nhân tạo 3 lớp truyền thẳng

Tính toán minh họa cho mạng 3 lớp truyền thẳng. Mạng này có kiến trúc mô tả nhƣ ở hình 2.17. Biểu thức tổng quát (2.10) sẽ đƣợc tính cụ thể đối với loại mạng này.

Nhƣ mô tả trong hình 2.17, mạng có n neuron trong lớp đầu vào, m neuron

trong lớp ẩn, và Oneuron trong lớp đầu ra, ta ký hiệu x x1, 2,L ,xn là các giá trị đầu vào tƣơng ứng với các đơn vị của lớp đầu vào, và d d1, 2,L ,dO là các giá trị đầu ra mục tiêu tƣơng ứng với các đơn vị trong lớp đầu ra.

Trọng số liên kết từ neuron thứitrong lớp đầu vào đến neuron thứ j trong lớp ẩn ký hiệu là 1

, 1, , 1,

ji i n j m

w   , và trọng số liên kết từ neuron thứ k trong lớp ẩn đến đến neuron thứ ltrong lớp đầu ra ký hiệu là 2

1, ,

, 1,

lk O

w lkm. Giả thiết rằng tất cả các neuron trong lớp ẩn và lớp đầu ra đều có một hàm truyền là hàm sigmoid nhƣ biểu thức (2.6).

Đầu vào của neuron thứ j trong lớp ẩn ký hiệu là 1

j v : 1 1 1 1 1 , n j ji i j i v w x     (2.11) trong đó 1 j

 là ngƣỡng của neuron thứ jtrong lớp ẩn. Để gọn nhẹ trong việc ký hiệu ta đặt: 1 0 1 x   (2.12) 1 1 0 j wj   (2.13)

từ đó thay (2.12), (2.13) vào (2.11) ta sẽ đƣợc: 1 1 1 0 . n j ji i i v w x   (2.14) Đầu ra của neuron thứ j trong lớp ẩn ký hiệu là 2

j x , đƣợc định nghĩa là:   2 1 . j j x  v (2.15) Đầu vào của neuron thứ l trong lớp đầu ra ký hiệu là 2

l v , đƣợc định nghĩa là: 2 2 2 0 , m l lk k k v w x   (2.16) trong đó: 2 0 2 2 0 1, . l l x w     (2.17)

Đầu ra của mạng tại neuron thứ l ký hiệu là yl, đƣợc định nghĩa là:

 2

.

l l

y  v (2.18) Hàm sai số đo độ lệch giữa đầu ra của mạng và đầu ra mục tiêu ký hiệu là E, đƣợc định nghĩa nhƣ trong (2.9), khai triển ra thành:

 2 1 1 . 2 O r r r d y     E (2.19)

Ta tiến hành tính biểu thức (2.10) để xác định biểu thức cập nhật trọng số cho mạng

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu, cải thiện kỹ thuật mô hình vỉa nứt nẻ liên tục (CFM), áp dụng cho mỏ của việt nam (Trang 30)

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

(94 trang)