Bài 3: Neural network | Deep Learning cơ bản

0

bài viết 3: Mạng nơ-ron

|nttuan8|Sau khi nền tảng học sâu

, bài viết trước đã học được thuật toán hậu cần có giá trị đầu ra là nhị phân. Tuy nhiên, mạng lưới hậu cần là một mô hình mạng nơ-ron đơn giản, bài viết này sẽ tìm hiểu một mô hình mạng nơ-ron hoàn chỉnh.

Trước khi vào bài viết này, bạn nên hoàn thành 2 bài viết trước khi đăng ký lâm sàng và đăng ký hậu cần. Có rất nhiều biểu tượng và công thức trong bài viết này, vì vậy bạn nên chuẩn bị giấy bút để bắt đầu.

Chó

mạng thần kinh là gì

có thể phân biệt giữa gia đình và người lạ hoặc trẻ em có thể phân biệt động vật. Đây có vẻ đơn giản, nhưng rất khó để làm điều đó với máy tính. Vậy sự khác biệt là gì? Câu trả lời là một số lượng lớn các tế bào thần kinh trong não được kết nối với nhau. Vì vậy, cho dù máy tính nên mô phỏng lại mô hình để giải quyết các vấn đề trên ,???

Dây thần kinh là từ từ của tế bào thần kinh, mạng chỉ là cấu trúc đồ họa, vì vậy mạng nơ-ron (NN) là một hệ thống tính toán lấy cảm hứng từ hoạt động của tế bào thần kinh trong hệ thần kinh.

Hoạt động của tế bào thần kinh

Source:https:// Tế

bào thần kinh askabiologist.asu.edu/neuron-anatomy là đơn vị cơ bản tạo nên hệ thần kinh và là phần quan trọng nhất của não. Bộ não của chúng ta bao gồm khoảng 10 triệu tế bào thần kinh, mỗi tế bào thần kinh được kết nối với 10.000 tế bào thần kinh khác.

Trong mỗi tế bào thần kinh, mỗi tế bào thần kinh chứa một nhân, đầu ra tín hiệu thông qua các sợi chi nhánh và các trục (axon) được kết nối với các tế bào thần kinh khác. Đơn giản chỉ cần hiểu rằng mỗi tế bào thần kinh nhận được dữ liệu đầu vào thông qua các sợi chi nhánh và truyền dữ liệu đầu ra thông qua trục đến sợi quang chi nhánh của các tế bào thần kinh khác.

Mỗi tế bào thần kinh nhận được các xung điện từ các tế bào thần kinh khác thông qua các chi nhánh. Nếu các xung điện này đủ lớn để kích hoạt tế bào thần kinh, thì tín hiệu đến các sợi nhánh của các tế bào thần kinh khác thông qua trục. = > trong mỗi tế bào thần kinh, cần phải quyết định có kích hoạt tế bào thần kinh hay không. Giống như hàm Sigmod trước đó không?

Tuy nhiên, NN chỉ lấy cảm hứng từ bộ não và cách nó hoạt động, không bắt chước đầy đủ chức năng của nó. Công việc chính của chúng tôi là sử dụng mô hình này để giải quyết những thách thức chúng ta cần.

Chế độ hậu cần

mạng nơ-ron

là chế độ mạng nơ-ron đơn giản nhất, chỉ cần lớp nội phổ và lớp bên ngoài.

Chế độ hậu cần của bài viết trước là: “Mũ” =sigma ({w_0 +w_1*x_1+w_2*x_2). Có hai bước:

  • tổng < = 1 * w_0 + x_1 * w_1 + x_2 * w_2
  • áp dụng niềm vui sigmod: hat{y} = sigma{(z)}

Để thực hiện, chúng tôi sẽ kết hợp hai bước trên thành một biểu đồ

hồ sơ hậu cần

Hệ số w_0 được gọi là bia. Xin lưu ý rằng từ các bài viết trước cho đến nay, dữ liệu khi tính toán luôn tăng 1 để tính toán hệ số bia w_0. Tại sao hệ số bia là cần thiết? Quay trở lại bài 1, phương trình đường thẳng nếu từ bỏ w_0, phương trình giờ ở dạng: w_1 *x + w_2*y = 0, nó luôn đi qua gốc tọa độ, nó sẽ không tóm tắt phương trình đường thẳng, vì vậy có thể không tìm thấy phương trình mong muốn. = > thêm bia (hệ số tự do) là rất quan trọng.

Hàm Sigmod ở đây được gọi là hoạt động hoạt động.

Hình ảnh đầu tiên của

mô hình chung

là lớp Nept, lớp ở giữa được gọi là lớp hidden Lớp cuối cùng được gọi là lớp bên ngoài. Vòng tròn được gọi là nút.

Mỗi mô hình luôn có 1 lớp Nept, 1 lớp bên ngoài, có thể có hoặc không có lớp Hiden. Tổng số lớp trong mô hình được quy ước là số lớp – 1 (không bao gồm lớp Nept).

Ví dụ: có 1 lớp Nept, 2 lớp Hiden và 1 lớp bên ngoài trên. Số lớp của mô hình là 3 lớp.

Mỗi nút và lớp bên ngoài trong lớp Hiden:

  • Liên kết tất cả các nút trong lớp trước với một hệ số w riêng biệt.
  • Mỗi nút có hệ số bia riêng b.
  • Thực hiện hai bước: tính toán tổng và hành động ứng dụng.

Biểu tượng nút trong lớp đầu tiên là l^{(i)}.

W^{(k)} Matri大小 l^{(k-1)} * l^{(k)} là ma trận hệ số giữa tầng (k-1) và layer k, trong ów_{ij}^{(k)}là hệ số kết nối giữa nút đầu tiên của lớp k-1 đến nút thứ ba của lớp k.

Vector b^{(k)} kích thước l^{k} * 1 là hệ số bia của nút trong lớp k, trong đó b_i^{(k)} là bia cho nút thứ i trong lớp k.

Đối với nút thứ i trong lớp l, có b_i^{(l)}的 bia, thực hiện hai bước:

  • tính toán tổng nút: z_i^{(l)} = sum_{j=1}^{l^{(l-1)}} a_j^{(l-1)} * w_{ji}^{(l)} + b_i^^{(l)} , là tổng số node trong lớp trước nhân với hệ số w tương ứng, sau đó thêm bia b.
  • 应用activation function: a_i^{(l)} = sigma(z_i^{(l)})

Vector z^{(k)} kích l^{(k)} * 1 是 tổng bước tính toán sau k tầng中的 n值。

Vector a^{(k)} kích thước l^{(k)} * 1 là giá trị nút trong lớp k sau chức năng chức năng ứng dụng.

Mô hình mạng thần kinh trước đó bao gồm 3 lớp. Input layer có 2 node (l^{(0)} = 2), hidden layer 1 有 3 node, hidden layer 2 有 3 node,output layer 有 1 node.

Vì mỗi nút trong lớp Hiden và lớp output đều có bia, trong lớp input và lớp hidden, bạn cần thêm node 1 để tính toán bia (nhưng không tính tổng số lớp Node).

Trong nút 2 của lớp 1, chúng tôi có:

  • z_2^{(1)} = x_1 * w_{12}^{(1)} + x_2 * w_{22}^{(1)} + b_2^{(1)
  • } a_2^{(1)} = sigma(z_2^{(1)})

hoặc tại nút 3 layer 2, tôi có.

  • z_3^{(2)} = a_1^{(1)} * w_{13}^{(2)} + a_2^{(1)} * w_{23}^{(2)}+ a_3^{(1)} * w_{33}^{(2)} + b_3^{(2)}
  • a_3^{(2)} = sigma(z_3^{(2)})

Federfoward

về mặt biểu tượng nhất, sẽ input lớp được gọi là a^{(0)} (=x) kích thước 2*1.

tôi có: tôi có:

z^{(2)} = (W^{(2)})^T * a^{(1)} + b^{(2)}newlinea^{(2)} = sigma(z^{(2)}} newline z^{(3 )} = (W^{(3)})^T * a^{(2)} + b^{(3)}newlinehat{y} = a^{(3)} = sigma(z^{(3)})

Feedforward

biểu diễn như một ma trận

Tuy nhiên, khi làm việc với dữ liệu, chúng ta cần dự đoán nhiều dữ liệu cùng một lúc, vì vậy X được gọi là ma trận n*d, trong đó n là số lượng dữ liệu và d là số trường trong mỗi dữ liệu, trong đó x_j^{[i] là giá trị trường dữ liệu j đầu tiên của dữ liệu đầu tiên. Ví dụ: dữ liệu đặt

trước khi

thiết lập

giờ làm việc tiền lương
10 1
5 2
6 1,8
7 1n

= 4, d = 2, x_1^{[1]} = 10, x_2^{[1]} = 1, x_1^{[3]} = 6, x_2^{[2]} = 2 .

dạng ma trận của nhiều dữ liệu trong tập dữ liệu

hiển thị do x^{[1]} là vectơ của kích thước d*1, nhưng trong X, mỗi dữ liệu được viết theo dòng, vì vậy bạn cần phải chuyển x^{[1]]thành kích thước 1*d, ký hiệu: -(x^{[[1]}^T –

Gọi ma trận Z^{(i)} kích thước N*l^{(i)} trong đó z_{j}^{(i)[k]} là dữ liệu k trong tập dữ liệu thứ nhất trong việc tính toán tổng giá trị j của linear trong bước layer isau.

Biểu tượng (i) là lớp đầu tiên và biểu tượng [k] là dữ liệu k đầu tiên trong tập dữ liệu.

Tương tự, gọi A^{(i)} kích thước N*l^{(i)}}},trong đó a_{j}^{(i)[k]} là giá trị j trong lớp i, sau khi áp dụng dữ liệu k thứ hai trong tập dữ liệu để thao tác.

nhiều <

img src =”https://i0.wp.com/nttuan8.com/wp-content/uploads/2019/03/CodeCogsEqn-9.gif?resize=603%2C117&ssl=1″ > tính toán cuối cùng là không chính xác, nhưng viết công thức để ngắn gọn và súc tích.

có thể tính toán các giá trị dự đoán của nhiều dữ liệu cùng một lúc dưới dạng ma trận.

Bây giờ, từ input X, chúng ta có thể tính toán giá trị dự đoán hat{Y}, nhưng điều chính cần làm là tìm hệ số W và b. Bạn có thể nghĩ ngay đến thuật toán gradient, điều quan trọng nhất trong thuật toán gradient là tìm đạo đức của hệ số. Việc tính toán hàm của hệ số mạng thần kinh được thực hiện bởi các thuật toán back-end và sẽ được mô tả trong bài viết tiếp theo. Vì bài viết này có quá nhiều công thức và sợ mọi người lộn xộn, mã sẽ được để lại trong bài viết tiếp theo.

Phần lưu trữ hậu cần này với toán học XOR

không bắt buộc, nó giúp giải thích nhiều lớp hơn và mô hình dường như giải quyết các vấn đề phức tạp hơn. Cụ thể, mô hình hậu cần của bài viết trước không thể biểu hiện toán học XOR, nhưng nếu bạn thêm một hidden layer với 2 nút giữa lớp Nept và lớp bên ngoài, bạn có thể biểu diễn toán học XOR.

AND, OR, XOR là toán học thực hiện tính toán bit. Vì vậy, vị trí là gì? Bạn không cần phải quan tâm, chỉ cần biết rằng mỗi bit nhận được 1 giá trị là 0 hoặc 1.

Tính

toán NOT của NOT 1 bit cho thấy giá trị ngược lại.

A NOT(A)
1 AND

2 bit được tính toán với giá trị 1 và nếu hai chữ số bằng 1, trong trường hợp còn lại là 0.

A B A AND B
1 1
1
1 1

Giờ muốn máy tính để học toán AND, chúng tôi thấy kết quả là 0 và 1, chúng tôi khuyên bạn nên xem xét xử lý hậu cần ngay lập tức với

x_1 dữ liệu x_2
1 1
1 1 1 1
giá trị chấm màu xanh là 0 và chấm đỏ là giá trị 1

Theo bài viết trước, logistics là một đường thẳng của điểm số, vì vậy việc áp dụng thuật toán trong hậu cần để tìm w_0 = -1,5, w_1 = 1,w_2 = 1

đầu tiên: x_ 1 AND
x_2 thẳng y = 1,5-x chia thành hai miền dữ liệu

Nhận xét, vì tính toán NOT là trao đổi bit, tính toán NOT (A AND B) có thể được thể hiện dưới dạng hình trên, thay đổi màu sắc của các chấm từ màu đỏ sang xanh dương sang xanh dương sang đỏ. Do đó, dải phân cách vẫn giữ nguyên, với 2 miền giá trị đánh dấu hoán đổi = số >w_0 thay đổi giá trị tham số = 1,5, w_1 = -1,w_2 = -1

đồ thị 2:NOT (x_1 AND x_2)

OR

tính toán 2 bit và nếu một trong hai bit bằng 1, giá trị bằng không trong các trường hợp còn lại. Chính hãng

A B A OR B
1 1
1
1 1 1

Tương tự như vậy, chúng tôi tìm thấy w_0 = -0,5, w_1 = 1, w_2 = 1

sơ đồ 3: x_1 OR
x_2

XOR

tính toán giá trị XOR 2 bit 1 nếu 2 1 bit trong bit bằng 1 và trong các trường hợp còn lại là 0 giá trị. A

B XOR B
1 1
1 1
1

Khi thiết lập một vấn đề hậu cần, chúng tôi có một biểu đồ

Rõ ràng, bạn không thể sử dụng một đường thẳng để chia dữ liệu thành hai tên miền. Vì vậy, khi bạn sử dụng loại bỏ gradient trên XOR, không có vấn đề bao nhiêu lần bạn chạy hoặc làm thế nào bạn điều chỉnh learning_rate, bạn không thể đạt được kết quả mong muốn. Giống như bài viết trước, logistics không thể giải quyết vấn đề này và bây giờ cần một giải pháp mới !!!

Áp dụng kiến thức về các bit trên, chúng tôi có:

A B XOR B A A AND B NOT(A AND B) A OR B (NOT(A AND B) AND (A OR B)))
1
1 1 1 1 1
1 1 1 1 1 1
1 1 1

Vì vậy, A XOR B = (NOT(A AND B) AND (A OR B), vì vậy tính toán XOR chúng tôi kết hợp NOT(AND) và OR, và sau đó tính toán AND.

hình dạng XOR

trông hơi rối, hãy phân tích nó:

  • Node NOT (x_1 AND x_2) đến từ Hình 2 với ba mũi tên trỏ đến 1,x_1 và hệ số x_2 là w_0, w_1, w_2tương phải là 1,5, -1, -1.
  • Node tínhx_1 OR x_2 là một
  • phép tính AND từ 3 nút trong lớp output, được tính toán bằng AND của 2 nút ở lớp trước, với giá trị hệ số đi xuống từ Hình 1.

Đánh giá: Chế độ hậu cần không thể giải quyết vấn đề XOR, nhưng mô hình mới giải quyết vấn đề XOR. Sự khác biệt là

  • hồ sơ hậu cần chỉ có 2 nút giữa lớp input và lớp output đến lớp output
  • , và mô hình mới có 2 nút giữa lớp input và lớp output = >

, và càng có vẻ như càng có nhiều lớp và nút, các vấn đề phức tạp được giải quyết càng phức tạp.

Bài 4: Đóng gói back-end Bài 2: Logistics

Related Posts

Xét nghiệm Giải phẫu bệnh – Dẫn đường cho việc điều trị

Xét nghiệm giải phẫu bệnh được thực hiện trên những mẫu bệnh phẩm tế bào, bệnh phẩm mô từ các cơ quan trong cơ thể được sinh…

Phương pháp điều trị tủy răng tại nha khoa hiện nay

Viêm tủy răng là một trong những vấn đề về sức khỏe răng miệng nghiêm trọng. Người mắc viêm tủy răng không chỉ phải chịu đựng những…

Mỹ thuật ứng dụng là gì? (cập nhật 2023)

Khi những giá trị thẩm mỹ ngày càng được chú trọng thì các phẩm mỹ thuật ứng dụng ngày càng đi sâu vào đời sống của mọi…

Bát quái đồ là gì? Ý nghĩa và vai trò của bát quái trong phong thủy

Bát quái đồ là vật phẩm phong thủy được sử dụng khá rộng rãi và phổ biến trong văn hoá phương Đông, nhằm mang lại những niềm…

Du học ngành khoa học ứng dụng và cơ bản

>> Du học ngành khoa học đại cương >> Các trường có đào tạo ngành Khoa học ứng dụng và cơ bản Khoa học Ứng dụng và…

Trồng răng implant là gì? Những điều cần phải biết trước khi chọn trồng răng implant

Trồng răng implant là phương pháp trồng răng cấy trụ kim loại vào xương hàm để thay thế cho răng đã mất. Chính vì vậy trụ implant…