Xin chào và chào mừng bạn trở lại khóa học về Học sâu.
Đây là một hướng dẫn bổ sung để nói về máy Mac mềm và các hàm entropy chéo.
Nó không cần thiết 100% để bạn có thể xem qua tất cả các phần mà chúng ta đã xem qua
trong phần chính của phần này, nơi chúng ta đang nói về mạng nơ-ron phức hợp.
Nhưng đồng thời, tôi nghĩ nó sẽ là một bổ sung tốt cho hành trang kiến thức và kỹ năng của bạn.
Vì vậy, chúng ta hãy tiếp tục và đi sâu vào các chức năng này.
Vì vậy, để bắt đầu, những gì chúng ta có ở đây là mạng nơ-ron tích tụ mà chúng ta đã xây dựng trong phần chính của phần này, và sau
đó ở phần cuối, nó đưa ra một số xác suất cho 0. 95 cho một con chó và 0. 055 hoặc 5% cho một
con mèo.
Cho rằng bức ảnh bên trái làm đầu vào, đây là ảnh sau khi chuyến tàu được tiến hành.
Đây thực sự là nó đang chạy và nó đang phân loại một hình ảnh nhất định.
Và câu hỏi đặt ra ở đây là, tại sao hai giá trị này lại cộng lại thành một?
Bởi vì theo những gì chúng ta biết, từ tất cả những gì chúng ta đã học về mạng nơ-ron
nhân tạo, không có gì để nói rằng hai nơ-ron cuối cùng này được kết nối với nhau.
Vậy làm thế nào họ biết được giá trị của mỗi người trong số họ biết, giá trị của người kia là gì, và làm
thế nào họ biết để cộng các giá trị của mình lên một giá trị?
Chà, câu trả lời là chúng không có trong phiên bản cổ điển của mạng nơ-ron nhân tạo.
Và cách duy nhất mà họ làm là vì chúng tôi giới thiệu một hàm đặc biệt được gọi là hàm soft max để
giúp chúng tôi thoát khỏi tình huống này.
Vì vậy, thông thường những gì sẽ xảy ra là các tế bào thần kinh của chó và mèo sẽ có bất kỳ loại giá trị thực nào.
Họ không cần phải là B, họ không cần phải thêm vào một.
Nhưng sau đó, chúng ta sẽ áp dụng hàm soft max, được viết ở trên cùng ở trên cùng, và điều đó sẽ đưa các giá trị
này nằm trong khoảng từ 0 đến 1 và nó sẽ làm cho chúng cộng lại thành một.
Và để trích dẫn Wikipedia, hàm cực đại nguồn hoặc hàm mũ chuẩn hóa là một tổng quát của hàm logistic mà trích
dẫn chưa trích dẫn nhấp nháy một vectơ k chiều của các giá trị thực tùy ý thành một vectơ k chiều
của các giá trị thực trong phạm vi từ 0 đến 1 cộng lại một.
Vì vậy, về cơ bản nó làm chính xác những gì chúng ta muốn.
Nó đưa các giá trị này nằm trong khoảng từ 0 đến 1 và đảm bảo rằng chúng cộng lại thành một.
Và cách nó hoạt động là cách mà điều này là có thể.
Đó là bởi vì ở phía dưới đây, bạn có thể thấy rằng có một tổng kết.
Vì vậy, nó lấy số mũ và đặt nó theo lũy thừa của Z và cộng nó lên.
Vì vậy, Z một là một trong tất cả các lớp của bạn, tất cả các giá trị này.
Và đó là quá trình bình thường của bạn đang diễn ra ngay tại đó.
Vì vậy, đó là cách hoạt động của hàm soft max.
Và sẽ rất hợp lý khi đưa một hàm soft max vào các mạng nơ-ron phức hợp, bởi vì sẽ thật
kỳ lạ nếu bạn có các lớp có thể là chó và mèo, và đối với lớp chó, bạn có xác suất
là 80% và đối với mèo lớp bạn có xác suất là 45%.
Đúng?
Nó chỉ không có ý nghĩa như thế.
Và do đó, sẽ tốt hơn nhiều khi bạn giới thiệu chức năng tắt tối đa này và đó
là điều bạn sẽ thấy thường xuyên xảy ra trong mạng nơ-ron phức hợp.
Bây giờ, điều khác là hàm soft max đi đôi với một thứ gọi là hàm
cross entropy.
Và đó là một thứ rất tiện dụng cho chúng tôi.
Vì vậy, trước tiên chúng ta hãy nhìn vào công thức.
Đây là hàm entropy chéo trông như thế nào.
Chúng tôi thực sự sẽ sử dụng một phép tính khác.
Chúng tôi sẽ sử dụng biểu diễn này của mục nhập chéo, nhưng kết quả về cơ bản là giống nhau.
Điều này chỉ là dễ dàng hơn để tính toán.
Và những gì tôi biết, điều này nghe có vẻ không liên quan đến bất kỳ thứ gì ngay bây giờ, chỉ là các công thức trên màn hình của
bạn, nhưng sẽ có một số bài đọc được đề xuất bổ sung ở cuối phần này.
Vì vậy, đừng lo lắng nếu bạn không hiểu bài toán, giống như tôi nếu chúng ta chưa giải thích toán học ngay bây giờ.
Nhưng vấn đề ở đây là entropy chéo là gì?
Vâng, một hàm entropy chéo.
Hãy nhớ cách chúng ta trước đây trong mạng nơ-ron nhân tạo, chúng ta có một hàm được gọi là hàm lỗi bình phương trung
bình, mà chúng ta sử dụng làm hàm chi phí để đánh giá hiệu suất mạng của chúng ta.
Và mục tiêu của chúng tôi là giảm thiểu MSI để tối ưu hóa hiệu suất mạng của chúng tôi.
Chà, đó là hàm chi phí của chúng tôi sau đó ở đó, ở đó.
Và trong mạng nơron chập, chúng ta vẫn có thể sử dụng MSI, nhưng một lựa chọn tốt hơn trong mạng nơron chập
sau khi bạn áp dụng hàm soft max hóa ra là hàm entropy chéo.
Và trong mạng nơ ron tích tụ, khi bạn áp dụng các hàm entropy chéo, không được gọi là hàm chi phí
nữa, nó được gọi là hàm mất mát, và chúng rất giống nhau.
Chúng chỉ là những khác biệt nhỏ về thuật ngữ và giống như một chút khác biệt về ý nghĩa của chúng.
Nhưng đối với mục đích của chúng tôi, nó khá giống nhau và.
Điều xảy ra là hàm mất mát, một lần nữa, là thứ mà chúng tôi muốn giảm thiểu để tối đa hóa hiệu
suất mạng của chúng tôi.
Vì vậy, chúng ta hãy xem một ví dụ nhanh về cách hàm này có thể được áp dụng.
Vì vậy, giả sử chúng tôi đã đưa hình ảnh một con chó vào mạng của mình.
Giá trị dự đoán cho con chó là 0. 9 và đây là trong quá trình đào tạo.
Vì vậy, chúng tôi biết rằng chúng tôi biết nhãn đó là một con chó.
Vì vậy, giá trị dự đoán là 0. 9.
Giá trị dự đoán cho mèo là 0. 1.
Sau đó, ở đây chúng tôi có nhãn.
Vì vậy, chúng tôi biết đó là một con chó bởi vì đây là huấn luyện và một cho chó, không cho mèo.
Và vì vậy trong trường hợp này, bạn cần phải sử dụng.
Bạn nên thêm những con số này vào công thức của bạn cho entropy chéo.
Vì vậy, làm thế nào bạn làm điều đó là các giá trị bên trái sẽ đi đến biến?
Q Giá trị dưới logarit ở phía bên phải và các giá trị từ bên phải sẽ chuyển thành P Và vì vậy,
điều quan trọng là phải nhớ cái nào sẽ đến đó ở đâu bởi vì nếu bạn làm
sai, bạn sẽ không muốn lấy một logarit từ a, từ một giá trị 0 và hoặc một log từ một.
Vì vậy, bạn chỉ muốn cắm chúng vào, hãy đảm bảo rằng bạn cắm chúng vào đúng vị trí và sau đó về cơ bản bạn sẽ thêm
chúng.
Vì vậy, đó là cách hoạt động của mục nhập chéo.
Và chúng ta sẽ xem xét một thực tế ngay bây giờ chúng ta sẽ xem xét một ví dụ cụ thể từng bước về việc áp dụng
chức năng này trong cuộc sống thực.
Và nó sẽ có ý nghĩa hơn entropy chéo là gì.
Và nó sẽ không giống như mục tiêu của tôi trong hướng dẫn này là giúp bạn thoải mái
hơn với entropy chéo, bởi vì nó có thể nghe rất phức tạp và không có ý định chơi chữ, nó có thể giống như các mạng nơ-ron phức
tạp, nghe có vẻ rất phức tạp.
Đúng.
Đáng sợ, nhưng nó không phải.
Đó là vấn đề.
Vì vậy, hãy tiếp tục và áp dụng nó để chúng ta biết rằng nó không đáng sợ.
Vì vậy, đây là mạng thần kinh.
Và điều này cũng sẽ giải thích lý do tại sao chúng tôi làm điều này, tại sao chúng tôi đang xem xét các hàm lớp khác nhau.
Vì vậy, mạng thần kinh một, mạng thần kinh hai, giả sử chúng ta có hai mạng thần kinh và sau đó
chúng ta chuyển một hình ảnh của một con chó và chúng ta biết rằng đây là một con chó chứ không phải một con mèo.
Và sau đó chúng ta có một hình ảnh khác của một con mèo, lần này là một con vật.
Và đó là một con mèo, không phải một con chó.
Và ở đây chúng ta có một con vật trông rất kỳ lạ, trên thực tế, đó là một con chó, không phải một con mèo, nếu
bạn nhìn kỹ.
Vì vậy, chúng tôi muốn xem mạng nơ-ron của chúng tôi là gì.
Sẽ dự đoán trong trường hợp đầu tiên, mạng thần kinh một 90% chó 10% mèo.
Chính xác.
Mạng nơ-ron số hai 60% chó 40% mèo vẫn đúng.
Tệ hơn nhưng đúng.
Phương án thứ hai mạng nơron thứ nhất 10% con chó mèo 90% con mèo đúng.
Và bạn chỉ đang nói về hai con số 30% là chó, 70% là mèo.
Tệ hơn, nhưng vẫn đúng.
Và cuối cùng, mạng nơ-ron một trong hình ảnh ba mạng nơ-ron một 40%.
Con chó 60% con mèo không chính xác mạng thần kinh số hai 10% con chó 90% con mèo không chính xác và tệ hơn.
Vì vậy, mấu chốt ở đây là mặc dù cả hai mạng đều mắc sai lầm trong lần trước, nhưng thông qua cả ba hình ảnh, mạng
nơ-ron, một mạng hoạt động tốt hơn mạng nơ-ron thứ hai.
Vì vậy, ngay cả trong trường hợp cuối cùng, nó đã cho chó giống như 40% cơ hội, trái ngược với mạng thần kinh chỉ
cho chó 10% cơ hội.
Vì vậy, mạng nơ-ron một đang vượt trội hơn so với mạng nơ-ron hai.
Và bây giờ chúng ta sẽ xem xét các chức năng mà chúng có thể đo lường hiệu suất mà chúng ta
đã nói đến.
Vì vậy, chúng ta hãy đặt chúng vào một bảng.
Vì vậy, có một mạng nơ-ron.
Bạn có số hàng, vì vậy đó là số hình ảnh.
Và sau đó đối với hình ảnh một, bạn có những gì nó dự đoán, 90% là chó, 10% là mèo.
Vì vậy, đó là các biến mũ và sau đó bạn có các giá trị thực tế.
Vì thế.
Con chó đúng.
Mèo không chính xác.
Điều tương tự đối với hình ảnh số hai và điều tương tự đối với hình ảnh số ba và điều tương tự đối với mạng nơ-ron số hai.
Vì vậy, con chó 60%, con mèo 40% trong hình ảnh đầu tiên, đó là những gì nó dự đoán.
Câu trả lời đúng là con chó không phải con mèo và như vậy.
Và vì vậy bây giờ chúng ta hãy xem những lỗi mà chúng ta thực sự có thể mắc phải.
Vì vậy, những lỗi nào chúng tôi có thể tính toán để ước tính hiệu suất và theo dõi hiệu suất của mạng của chúng tôi.
Vì vậy, một loại lỗi được gọi là lỗi phân loại, và về cơ bản bạn chỉ cần hỏi nó, bạn đã hiểu
đúng hay chưa?
Bất kể xác suất xảy ra, chỉ là bạn đã làm đúng hay chưa đúng?
Vì vậy, trong cả hai trường hợp, đối với cả hai mạng nơ-ron, mỗi mạng đều có một hoặc lâu hơn.
Đây là cách họ đã sai.
Vì vậy, họ có một trong ba sai.
Vì vậy, tỷ lệ lỗi 33% cho mạng nơ-ron một và tỷ lệ lỗi 33% cho mạng nơ-ron hai.
Và về cơ bản từ quan điểm này, cả hai mạng nơ-ron đều hoạt động ở cùng một mức độ.
Nhưng chúng tôi biết điều đó không đúng.
Chúng ta biết rằng mạng nơ-ron một đang tốt hơn mạng nơ-ron hai.
Đó là lý do tại sao lỗi phân loại không phải là một thước đo tốt, đặc biệt là cho mục đích lan truyền ngược có
nghĩa là sai số bình phương khác nhau.
Và nhân tiện, tôi đã thực hiện các phép tính này trong Excel.
Tôi chỉ không muốn làm phiền bạn với họ.
Nhưng bạn hoàn toàn có thể chỉ cần ngồi xuống và thực hiện chúng trên giấy hoặc trong Excel.
Đây là những tính toán rất đơn giản.
Về cơ bản, chỉ cần lấy tổng các sai số bình phương và sau đó chỉ lấy giá trị trung bình trên các quan sát
của bạn.
Và đó là khá nhiều.
Vì vậy, đối với mạng nơ-ron một, bạn nhận được 25%.
Đối với mạng nơ-ron, hai, bạn nhận được 71%.
Tỷ lệ lỗi.
Vì vậy, như bạn có thể thấy, điều này chính xác hơn.
Nó cho chúng ta biết rằng mạng nơ-ron một có tỷ lệ lỗi thấp hơn nhiều so với mạng nơ-ron hai và sau
đó lại qua entropy.
Chúng tôi đã thấy công thức.
Bạn cũng có thể tính toán điều này.
Điều này thực sự thậm chí còn dễ dàng hơn để tính toán so với sai số trung bình bình phương.
Entropy lỗi chéo mang lại cho bạn 38% đối với mạng nơ-ron 1 và 1. 06 cho mạng nơron hai.
Vì vậy, bạn có thể thấy kết quả hơi khác một chút khi bạn nhìn vào chúng như vậy.
Khi bạn xem xét sai số trung bình bình phương và entropy chéo, câu hỏi tại sao bạn lại sử dụng entropy chéo thay cho sai
số bình phương trung bình không chỉ về loại giống như những con số mà họ đưa ra.
Những tính toán này chỉ để cho bạn thấy rằng đây là tất cả những gì có thể làm được.
Bạn chỉ có thể làm điều đó trên một tờ giấy.
Đó không phải là những thứ toán học không quá căng thẳng.
Đây là những thứ đẹp đẽ, khá đơn giản, dễ hiểu.
Nhưng câu hỏi tại sao bạn lại sử dụng entropy chéo trung bình thay vì sai số bình phương trung bình?
Đó là một câu hỏi rất, rất hay để hỏi.
Tôi rất vui vì bạn đã hỏi nó.
Câu trả lời cho điều đó giống như có một số lợi thế của entropy chéo so với sai số bình phương trung bình, điều này không
rõ ràng.
Và vì vậy, tôi sẽ đề cập đến một vài, nhưng sau đó tôi sẽ cho bạn biết nơi bạn có thể tìm hiểu thêm.
Vì vậy, một trong số đó là nếu, ví dụ, nếu bạn đang ở giai đoạn đầu của quá trình truyền ngược, giá trị đầu
ra của bạn là rất rất rất rất rất nhỏ, rất nhỏ.
Vì vậy, nó nhỏ hơn nhiều so với giá trị thực tế mà bạn muốn.
Sau đó, ngay từ đầu, gradient trong gốc gradient của bạn sẽ rất rất thấp và bạn sẽ
không đủ.
Sẽ rất khó để mạng nơ-ron thực sự bắt đầu làm điều gì đó và bắt đầu di chuyển xung quanh và bắt đầu điều chỉnh
các trọng số đó và bắt đầu bắt đầu thực sự di chuyển theo đúng hướng.
Trong khi khi bạn sử dụng một thứ gì đó như entropy chéo vì nó có logarit trong đó, nó thực
sự giúp mạng đánh giá ngay cả một lỗi nhỏ như vậy và làm điều gì đó với nó.
Đây là cách nghĩ về nó.
Vì vậy, hãy nói lại một lần nữa, đây là cách tiếp cận rất trực quan.
Ở đó, sẽ có một liên kết với toán học và bạn có thể rút ra những điều này thông qua toán học một
cách chi tiết hơn, nhưng một cách tiếp cận rất trực quan.
Giả sử bạn thích, kết quả bạn muốn là một.
Và ngay bây giờ bạn đang ở 1/1000000 của một, phải không?
A 0. 000001.
Và sau đó bạn cải thiện trong lần tiếp theo bạn cải thiện kết quả của mình từ thứ một phần triệu đến thứ 1.000.
Và về mặt nếu bạn tính toán sai số bình phương, bạn chỉ cần trừ một trường hợp khác hoặc về cơ bản trong mỗi trường hợp, bạn đang tính
sai số bình phương và bạn sẽ thấy rằng sai số bình phương là khi bạn so sánh trường
hợp này với trường hợp khác.
Nó không thay đổi nhiều như vậy.
Bạn đã không cải thiện mạng của mình nhiều như vậy khi bạn đang xem xét lỗi bình phương trung bình.
Nhưng nếu bạn đang nhìn vào entropy chéo bởi vì bạn đang lấy logarit và sau đó bạn đang so sánh
hai phép chia cho nhau, bạn sẽ thấy rằng bạn đã thực sự cải thiện mạng của mình đáng kể để chuyển từ
một phần triệu đến Thứ 1.000 trong các thuật ngữ sai số bình phương trung bình sẽ rất thấp.
Nó sẽ không đáng kể và nó sẽ không hướng dẫn quá trình tăng độ dốc của bạn hoặc sự lan truyền ngược của bạn
đi đúng hướng.
Nó sẽ hướng dẫn nó đi đúng hướng, nhưng nó sẽ giống như một hướng dẫn rất chậm.
Nó sẽ không có đủ sức mạnh.
Trong khi nếu bạn làm điều đó thông qua entropy chéo, entropy chéo sẽ hiểu rằng, ồ, mặc
dù đây là những điều chỉnh rất nhỏ chỉ tạo ra một thay đổi nhỏ về mặt tuyệt đối, nhưng về mặt tương đối, đó là
một cải tiến rất lớn và chúng tôi chắc chắn sẽ đúng hướng.
Hãy tiếp tục theo cách đó.
Vì vậy entropy chéo sẽ giúp mạng nơ-ron của bạn đi đúng hướng, đạt trạng thái tối ưu.
Đó là một cách tốt hơn để mạng nơ-ron đạt được trạng thái tối ưu.
Nhưng hãy nhớ rằng điều này chỉ hoạt động khi entropy chéo là phương pháp được ưu tiên chỉ để phân loại.
Vì vậy, nếu bạn đang nói về những thứ như hồi quy, giống như chúng ta đã có trong mạng nơ-ron
nhân tạo, thì bạn thà đi với tôi và sai số bình phương.
Trong khi entropy chéo thì tốt hơn cho việc phân loại và một lần nữa nó liên quan đến thực tế là chúng ta đang sử dụng
hàm soft mac.
Vì vậy, đó là một loại giải thích trực quan về điều đó.
Một nơi tốt để tìm hiểu thêm một chút về điều đó.
Nếu bạn thực sự quan tâm đến lý do tại sao chúng tôi sử dụng entropy chéo so với sai số trung bình bình phương?
Google Video của Geoffrey Hinton gọi là chức năng đầu ra tối đa mềm và ông giải thích về nó.
Rất tốt.
Và, bạn biết đấy, là cha đỡ đầu của học sâu, ai có thể giải thích nó tốt hơn.
Và nhân tiện, bất kỳ video nào của Geoffrey Hinton đều là vàng.
Anh ấy chỉ có một tài năng tuyệt vời để giải thích mọi thứ.
Dù sao, đó là giá trị max mềm so với entropy chéo.
Tôi hy vọng điều đó mang lại cho bạn một sự hiểu biết trực quan về những gì đang diễn ra ở
đây, nhưng quan trọng hơn là bạn không bị hạn chế bởi thuật ngữ entropy chéo, bởi vì Adlon sẽ đề cập đến nó trong các hướng dẫn thực hành.
Và tôi muốn đảm bảo rằng bạn đã chuẩn bị cho điều đó.
Và đó chỉ là một cách khác để tính toán hàm mất mát của bạn và một cách khác
để tối ưu hóa mạng của bạn, được điều chỉnh cụ thể cho các vấn đề phân loại và do
đó mạng nơ-ron phức hợp và đi kèm với hàm max mềm.
Vì vậy, hãy đọc thêm, nếu bạn muốn giới thiệu nhẹ về entropy chéo, nếu bạn quan tâm đến entropy chéo
hơn một chút.
Tất nhiên, một bài báo hay để xem có tên là Giới thiệu Thân thiện về Mất mát Entropy Chéo của
Rob de Pietro.
2016 Đây là liên kết bên dưới.
Rất rất tốt.
Rất mềm mại.
Không?
Không không.
Toán siêu phức tạp.
Một ví dụ điển hình là một ví dụ điển hình.
Sử dụng phép tương tự về ô tô và bạn nhìn vào ô tô và nói về thông tin cũng như các bit và hạn chế.
Và bạn sẽ mã hóa nó như thế nào?
Bạn sẽ mã hóa nó như thế nào?
Đó là một bài báo tốt để xem qua.
Và chúng tôi sẽ cung cấp cho bạn một cái nhìn tổng quan về entropy chéo.
Giống như từ quan điểm mở đầu, nếu bạn muốn tìm hiểu sâu về toán học nặng như những gì bạn
thấy ở đây, thì hãy xem một bài viết của hoặc blog về Cách triển khai mạng thần kinh.
Intermezzo hai Vì vậy, intermezzo giống như một thứ trung gian, giống như một thứ gián đoạn, giống như khi bạn đến một
rạp hát và bạn giống như một khoảng thời gian nghỉ giữa phần đầu tiên và phần thứ hai.
Vì vậy, bởi vì anh ấy muốn trải qua tất cả các bước này và sau đó anh ấy thích và sau đó anh ấy nói, Ồ,
tôi phải giải thích điều này trước.
Và vâng, đó là lý do tại sao nó được gọi là Intermezzo.
Không có lý do nào khác, theo như tôi hiểu.
Bài báo của Peter Rollins 2016 cũng vậy.
Vì vậy, cả hai đều khá gần đây.
Và vâng, hãy kiểm tra điều này nếu bạn muốn đi sâu vào toán học đằng sau entropy chéo, đằng sau entropy cực đại mềm và entropy
chéo trong thực tế bài viết này.
Vậy là xong.
Đó là tất cả những gì có cho hai người này.
Hy vọng rằng tôi đã có thể thêm một số rõ ràng bổ sung và chúc may mắn với điều đó.
Nó sẽ rất vui và tận hưởng các hướng dẫn thực tế.
Tôi se gặp bạn lân sau.
Cho đến lúc đó, hãy tận hưởng việc học sâu.