sơ khai Lan truyền ngược là gì? - Đoàn kết.AI
Kết nối với chúng tôi
Lớp học AI:

AI 101

Lan truyền ngược là gì?

mm
cập nhật on

Lan truyền ngược là gì?

Các hệ thống học sâu có thể học các mẫu cực kỳ phức tạp và chúng thực hiện điều này bằng cách điều chỉnh trọng số của chúng. Trọng số của một mạng lưới thần kinh sâu được điều chỉnh chính xác như thế nào? Chúng được điều chỉnh thông qua một tiến trình gọi là Lan truyền ngược. Nếu không có lan truyền ngược, mạng lưới thần kinh sâu sẽ không thể thực hiện các nhiệm vụ như nhận dạng hình ảnh và diễn giải ngôn ngữ tự nhiên. Hiểu cách thức hoạt động của lan truyền ngược là rất quan trọng để hiểu mạng lưới thần kinh sâu nói chung, vì vậy hãy thảo luận về lan truyền ngược và xem quy trình được sử dụng như thế nào để điều chỉnh trọng số của mạng.

Lan truyền ngược có thể khó hiểu và các phép tính được sử dụng để thực hiện lan truyền ngược có thể khá phức tạp. Bài viết này sẽ cố gắng cung cấp cho bạn sự hiểu biết trực quan về lan truyền ngược, sử dụng ít phương pháp toán học phức tạp. Tuy nhiên, một số thảo luận về toán học đằng sau lan truyền ngược là cần thiết.

Mục tiêu của Backpropagation

Hãy bắt đầu bằng cách xác định mục tiêu của backpropagation. Trọng số của mạng nơ-ron sâu là sức mạnh của các kết nối giữa các đơn vị của mạng nơ-ron. Khi mạng thần kinh được thiết lập, các giả định được đưa ra về cách các đơn vị trong một lớp được kết nối với các lớp được liên kết với nó. Khi dữ liệu di chuyển qua mạng thần kinh, các trọng số được tính toán và các giả định được đưa ra. Khi dữ liệu đến lớp cuối cùng của mạng, một dự đoán được đưa ra về cách các tính năng có liên quan đến các lớp trong tập dữ liệu. Sự khác biệt giữa các giá trị được dự đoán và các giá trị thực tế là mất mát/lỗi và mục tiêu của lan truyền ngược là giảm tổn thất. Điều này được thực hiện bằng cách điều chỉnh trọng số của mạng, làm cho các giả định giống với mối quan hệ thực sự giữa các tính năng đầu vào hơn.

Đào tạo một mạng lưới thần kinh sâu

Trước khi backpropagation có thể được thực hiện trên một mạng lưới thần kinh, quá trình đào tạo thông thường/chuyển tiếp của mạng nơ-ron phải được thực hiện. Khi một mạng thần kinh được tạo, một tập hợp các trọng số được khởi tạo. Giá trị của các trọng số sẽ được thay đổi khi mạng được đào tạo. Quá trình đào tạo về phía trước của mạng nơ-ron có thể được hình thành theo ba bước riêng biệt: kích hoạt nơ-ron, chuyển nơ-ron và lan truyền về phía trước.

Khi đào tạo một mạng lưới thần kinh sâu, chúng ta cần sử dụng nhiều hàm toán học. Các nơ-ron trong mạng nơ-ron sâu bao gồm dữ liệu đến và chức năng kích hoạt, xác định giá trị cần thiết để kích hoạt nút. Giá trị kích hoạt của một nơ-ron được tính toán với một số thành phần, là tổng trọng số của các đầu vào. Trọng số và giá trị đầu vào phụ thuộc vào chỉ số của các nút được sử dụng để tính toán kích hoạt. Một số khác phải được tính đến khi tính toán giá trị kích hoạt, giá trị sai lệch. Các giá trị độ lệch không dao động, vì vậy chúng không được nhân lên cùng với trọng số và đầu vào, chúng chỉ được thêm vào. Tất cả điều này có nghĩa là phương trình sau đây có thể được sử dụng để tính giá trị kích hoạt:

Kích hoạt = tổng (trọng số * đầu vào) + độ lệch

Sau khi nơ-ron được kích hoạt, một hàm kích hoạt được sử dụng để xác định đầu ra của đầu ra thực tế của nơ-ron sẽ là bao nhiêu. Các hàm kích hoạt khác nhau là tối ưu cho các nhiệm vụ học tập khác nhau, nhưng các hàm kích hoạt thường được sử dụng bao gồm hàm sigmoid, hàm Tanh và hàm ReLU.

Khi các đầu ra của nơ-ron được tính toán bằng cách chạy giá trị kích hoạt thông qua hàm kích hoạt mong muốn, quá trình truyền về phía trước được thực hiện. Truyền về phía trước chỉ lấy đầu ra của một lớp và biến chúng thành đầu vào của lớp tiếp theo. Các đầu vào mới sau đó được sử dụng để tính toán các chức năng kích hoạt mới và đầu ra của hoạt động này được chuyển sang lớp tiếp theo. Quá trình này tiếp tục cho đến hết mạng lưới thần kinh.

Lan truyền ngược trong mạng

Quá trình lan truyền ngược đưa ra các quyết định cuối cùng trong quá trình huấn luyện của một mô hình, sau đó nó xác định các lỗi trong các quyết định này. Các lỗi được tính toán bằng cách đối chiếu các đầu ra/quyết định của mạng và các đầu ra dự kiến/mong muốn của mạng.

Khi các lỗi trong quyết định của mạng đã được tính toán, thông tin này sẽ được lan truyền ngược qua mạng và các tham số của mạng sẽ bị thay đổi trên đường đi. Phương pháp được sử dụng để cập nhật trọng số của mạng dựa trên phép tính, cụ thể là dựa trên quy tắc chuỗi. Tuy nhiên, hiểu biết về phép tính là không cần thiết để hiểu ý tưởng đằng sau lan truyền ngược. Chỉ cần biết rằng khi một giá trị đầu ra được cung cấp từ một nơ-ron, độ dốc của giá trị đầu ra được tính toán bằng một hàm truyền, tạo ra một đầu ra dẫn xuất. Khi thực hiện lan truyền ngược, lỗi cho một nơ-ron cụ thể được tính theo công thức sau công thức:

lỗi = (expected_output – fact_output) * độ dốc của giá trị đầu ra của nơ-ron

Khi hoạt động trên các nơ-ron trong lớp đầu ra, giá trị lớp được sử dụng làm giá trị mong đợi. Sau khi lỗi đã được tính toán, lỗi được sử dụng làm đầu vào cho các nơ-ron trong lớp ẩn, nghĩa là lỗi của lớp ẩn này là các lỗi có trọng số của các nơ-ron được tìm thấy trong lớp đầu ra. Các tính toán lỗi di chuyển ngược qua mạng dọc theo mạng trọng số.

Sau khi tính toán xong các lỗi của mạng, các trọng số trong mạng phải được cập nhật. Như đã đề cập, việc tính toán sai số bao gồm việc xác định độ dốc của giá trị đầu ra. Sau khi tính toán độ dốc, một quá trình được gọi là giảm độ dốc có thể được sử dụng để điều chỉnh các trọng số trong mạng. Độ dốc là độ dốc có thể đo được góc/độ dốc. Độ dốc được tính bằng cách vẽ đồ thị “y over” hoặc “tăng” trên “run”. Trong trường hợp mạng nơ-ron và tỷ lệ lỗi, “y” là lỗi được tính toán, trong khi “x” là tham số của mạng. Các tham số của mạng có mối quan hệ với các giá trị lỗi được tính toán và khi trọng số của mạng được điều chỉnh thì lỗi sẽ tăng hoặc giảm.

“Giảm dần độ dốc” là quá trình cập nhật các trọng số để giảm tỷ lệ lỗi. Lan truyền ngược được sử dụng để dự đoán mối quan hệ giữa các tham số của mạng thần kinh và tỷ lệ lỗi, thiết lập mạng để giảm độ dốc. Huấn luyện một mạng có giảm độ dốc liên quan đến việc tính toán các trọng số thông qua lan truyền thuận, lan truyền ngược lỗi và sau đó cập nhật các trọng số của mạng.

Blogger và lập trình viên có chuyên môn về Machine Learning Học kĩ càng chủ đề. Daniel hy vọng sẽ giúp những người khác sử dụng sức mạnh của AI vì lợi ích xã hội.