Xin chào và chào mừng bạn trở lại với khóa học và học sâu.
Bây giờ chúng ta đã thấy các mạng thần kinh hoạt động, đã đến lúc chúng ta tìm hiểu cách chúng học.
Vì vậy, chúng ta hãy đi thẳng vào nó.
Về cơ bản, có hai cách tiếp cận khác nhau để khiến một chương trình thực hiện những gì bạn muốn.
Một là mã hóa cứng, trong đó bạn thực sự nói với các quy tắc cụ thể của chương trình và kết quả bạn muốn và bạn
chỉ hướng dẫn nó trong suốt quá trình và bạn tính đến tất cả các tùy chọn có thể có
mà chương trình phải giải quyết.
Mặt khác, bạn có mạng nơ-ron nơi bạn tạo.
Cơ sở để chương trình có thể tự hiểu được những gì nó cần phải làm.
Vì vậy, về cơ bản bạn tạo ra mạng nơ-ron này, nơi bạn cung cấp đầu vào cho nó, bạn cho nó biết bạn muốn gì
dưới dạng đầu ra và sau đó bạn để nó tự tìm hiểu mọi thứ.
Hai cách tiếp cận khác nhau về cơ bản.
Và đó là điều cần ghi nhớ khi chúng ta xem qua các hướng dẫn này.
Mục tiêu của chúng tôi là tạo ra mạng này, mạng này sau đó sẽ tự học.
Chúng tôi sẽ tránh cố gắng đưa ra các quy tắc.
Và một ví dụ điển hình mà tôi có thể cung cấp cho bạn ngay bây giờ là điều này sẽ tiến xa hơn trong khóa học, nhưng đó chỉ
là một ví dụ trực quan.
Ví dụ, làm thế nào để bạn phân biệt giữa một con chó và một con mèo ở bốn phía bên trái?
Trong cách tiếp cận được mô tả ở bên trái, bạn sẽ lập trình những thứ giống như tai của con mèo phải như
thế này.
Để ý râu ria, để ý loại mũi này.
Hãy chú ý đến kiểu khuôn mặt này.
Hãy chú ý những màu này.
Bạn giống như bạn mô tả tất cả những điều này và bạn có các
điều kiện như nếu tai nhọn thì mèo, nếu tai cụp xuống thì có thể là chó, v.v.
Mặt khác, đối với mạng nơ-ron, bạn chỉ cần mã hóa mạng nơ-ron, mã hóa kiến trúc và sau đó
bạn trỏ mạng nơ-ron vào một thư mục có tất cả những con mèo và chó này với hình ảnh của những chú mèo
và chó đã được phân loại.
Và bạn nói với nó, được rồi, tôi đã có bạn.
Tôi có một số hình ảnh về mèo và chó.
Đi và tìm hiểu mèo là gì.
Đi và tìm hiểu con chó là gì.
Và mạng nơ-ron tự nó sẽ hiểu mọi thứ nó cần hiểu.
Và sau đó xa hơn nữa, một khi nó đã được huấn luyện, khi bạn cho nó một hình ảnh mới về một con mèo hoặc con chó, nó
sẽ có thể hiểu nó là gì.
Vì vậy, họ ở đó.
Đó là hai cách tiếp cận khác nhau về cơ bản.
Và hôm nay chúng ta sẽ từ từ bắt đầu tìm hiểu cách thức hoạt động của cách tiếp cận thứ hai.
Được rồi.
Vì vậy, chúng ta hãy đi thẳng vào nó ở đây.
Chúng ta có một mạng nơ-ron rất cơ bản với một lớp được gọi là một lớp đơn, mạng nơ-ron
truyền tiếp và nó còn được gọi là perceptron.
Bây giờ, trước khi chúng ta tiếp tục, một điều mà chúng ta cần điều chỉnh là giá trị đầu ra ngay bây giờ, bạn có thể thấy rằng đó
chỉ là lý do tại sao chúng ta cần đặt một chiếc mũ y vào đó.
Và lý do cho điều đó thường là Y là viết tắt của giá trị thực và đó là những gì chúng ta sẽ sử dụng.
Vì vậy, Y sẽ là giá trị thực tế mà chúng ta thấy.
Trong thực tế, giá trị đầu ra là giá trị được dự đoán bởi thuật toán, bởi mạng nơ-ron, y
hat là giá trị đầu ra.
Về cơ bản đó là mệnh giá cho giá trị đầu ra.
Và perceptron lần đầu tiên được phát minh vào năm 1957 bởi Frank Rosenblatt.
Và toàn bộ ý tưởng của anh ấy là tạo ra thứ gì đó thực sự có thể học hỏi và tự điều chỉnh.
Và đây là những gì chúng ta sẽ xem xét bây giờ.
Vì vậy, chúng tôi đã có một perceptron.
Hãy xem cách một perceptron học.
Vì vậy, giả sử chúng ta có một số giá trị đầu vào đã được cung cấp cho perceptron và hoặc về cơ bản cho mạng nơ-ron
của chúng ta.
Sau đó, chức năng kích hoạt được áp dụng, chúng ta có một đầu ra và bây giờ chúng ta sẽ vẽ đầu
ra trên biểu đồ.
Vì vậy, nó đó, đầu ra y hat của chúng tôi.
Bây giờ những gì chúng ta cần làm là để có thể học được, chúng ta cần so sánh giá
trị đầu ra với giá trị thực mà chúng ta muốn mạng nơ-ron đúng.
Và đó là giá trị Y.
Và vì vậy nếu chúng tôi vẽ sơ đồ ở đây, bạn sẽ thấy rằng có một chút khác biệt.
Bây giờ chúng ta sẽ tính toán một hàm được gọi là hàm chi phí được tính bằng một nửa hiệu số của
sự khác biệt bình phương giữa giá trị thực tế và giá trị đầu ra.
Bây giờ có nhiều cách bạn có thể đưa ra một hàm chi phí.
Có nhiều hàm chi phí khác nhau mà bạn có thể sử dụng.
Đây có lẽ là hàm lớp được sử dụng phổ biến nhất và tại sao nó lại cụ thể là hàm này mà chúng ta sử
dụng.
Chúng ta sẽ tìm hiểu sâu hơn khi chúng ta nói về sự giảm dần độ dốc.
Nhưng bây giờ chúng ta sẽ đồng ý rằng đây là hàm chi phí.
Và về cơ bản, những gì hàm chi phí đang cho chúng tôi biết là lỗi mà bạn có trong dự đoán của mình là gì?
Và mục tiêu của chúng ta là tối thiểu hóa hàm chi phí vì hàm chi phí càng thấp thì mũ
y càng gần Y.
Vì vậy, miễn là chúng tôi đồng ý về điều đó, hãy tiếp tục.
Vì vậy, về cơ bản từ đây, những gì xảy ra là có hàm chi phí của chúng ta.
Và từ đây những gì sẽ xảy ra bây giờ chúng ta sẽ làm khi chúng ta đã so sánh ngay bây giờ,
chúng ta sẽ cung cấp thông tin này trở lại mạng nơ-ron.
Vậy là xong.
Có thông tin quay trở lại mạng nơ-ron và nó chuyển đến các trọng số và các trọng số
được cập nhật.
Về cơ bản, điều duy nhất mà chúng ta có quyền kiểm soát trong mạng nơ-ron rất đơn giản này
là trọng số w một, w hai cho đến w m và mục tiêu của chúng tôi là giảm thiểu hàm chi phí.
Vì vậy, tất cả những gì chúng ta có thể làm là cập nhật trọng lượng.
Vì vậy, chúng tôi cập nhật các trọng số và điều chỉnh chúng một chút và cách chính xác chúng tôi sẽ tìm ra nhưng hiện tại chúng tôi đồng
ý rằng chúng tôi có.
Các trọng lượng và sau đó chúng tôi tiếp tục.
Vì vậy, nhưng ở đây tôi đã đưa ra ảnh chụp màn hình dữ liệu này chỉ để làm rõ một điều rằng ngay bây giờ trong toàn bộ
thử nghiệm này, mọi thứ chúng tôi đang làm ngay bây giờ, chúng tôi chỉ giải quyết
một hàng.
Vì vậy, chúng tôi đang giải quyết chúng tôi có một tập dữ liệu của một hàng, ví dụ như chúng tôi có, chúng tôi đang
giải quyết thời gian bạn học.
Giống như biến số mà chúng tôi dự đoán là điều gì, kết quả bạn sẽ đạt được trong một kỳ thi.
Và các biến độc lập phụ thuộc mà chúng ta có là bạn đã học trong bao nhiêu giờ?
Bạn đã ngủ bao nhiêu tiếng và bạn đã làm được gì trong bài kiểm tra giữa học kỳ?
Vì vậy, vào giữa học kỳ, có một bài kiểm tra.
Bạn đã đạt được bao nhiêu phần trăm?
Vì vậy, dựa trên những biến số đó, chúng tôi đang cố gắng dự đoán số điểm bạn sẽ nhận được cho bài kiểm tra.
Và trong kỳ thi, 93%, đó là giá trị thực tế.
Vì vậy, đó là lý do tại sao chúng ta lại đưa ba giá trị này vào mạng nơ-ron của chúng ta lần thứ hai và sau
đó chúng ta sẽ so sánh kết quả với Y.
Vì vậy, hãy xem cách này hoạt động như thế nào.
Chúng tôi cung cấp các giá trị này vào mạng nơ-ron.
Mọi thứ được điều chỉnh và trọng lượng được điều chỉnh.
Vì vậy, như bạn có thể thấy, đây là một lần nữa, chúng tôi sẽ cung cấp các giá trị.
Một lần nữa, vấn đề ở đây là chúng ta đang cung cấp các giá trị tương tự.
Vì vậy, chúng tôi chỉ có một hàng.
Chúng tôi đang cố gắng để chúng tôi đang đào tạo trên một hàng.
Điều này là do đây chỉ là một ví dụ rất đơn giản, cơ bản.
Sau đó, chúng ta sẽ xem điều gì sẽ xảy ra khi có nhiều hàng hơn.
Vì vậy, một lần nữa, chúng tôi cung cấp các hàng này trong các hàm chi phí của chúng tôi được điều chỉnh.
Như bạn có thể thấy, mọi thứ lại diễn ra dọc theo những dòng đó.
Vì vậy, như bạn có thể thấy, mỗi khi chiếc mũ trắng của chúng tôi thay đổi vì chúng tôi đã điều chỉnh trọng lượng, cái đầu cao của chúng
tôi thay đổi, hàm chi phí của chúng tôi cũng thay đổi.
Chúng ta hãy nhìn lại một lần nữa.
Vì vậy, chúng tôi cung cấp cho những người mũ trắng đang thay đổi, hàm chi phí đang thay đổi.
Chúng tôi lấy lại thông tin phản hồi về trọng lượng để các trọng lượng được điều chỉnh lại.
Chúng tôi cung cấp các giá trị giống nhau mỗi khi mọi thứ được điều chỉnh và quay
trở lại trọng lượng và một lần nữa nạp vào và lần khác.
Vì vậy, chúng tôi đã điều chỉnh trọng lượng đã điều chỉnh, trọng lượng chúng tôi cung cấp trong thông tin và chúng tôi thực hiện.
Vì vậy, bây giờ thời gian này mũ y bằng y bằng không hàm số.
Thông thường, chúng ta sẽ không nhận được hàm chi phí bằng 0.
Nhưng đây là một ví dụ rất đơn giản.
Vì vậy, hy vọng rằng tất cả những điều đó đều có ý nghĩa mỗi khi chúng tôi cung cấp chính xác hàng đó bởi vì trong trường hợp
này, chúng tôi chỉ xử lý một hàng đó trong mạng nơ-ron của chúng tôi.
Sau đó, trọng số nhận được, các giá trị được nhân với các cách hàm kích hoạt được áp dụng.
Ta nhận được y hat y hat is so với y.
Sau đó, chúng ta thấy hàm chi phí đã thay đổi như thế nào.
Phản hồi cung cấp thông tin đó trở lại mạng nơ-ron và chỉ cần điều chỉnh lại trọng số và sau đó chúng tôi lặp
lại quy trình tương tự một lần nữa với cùng một hàng chính xác.
Chúng tôi đang cố gắng giảm thiểu hàm chi phí đó.
Vì vậy, cho đến nay, chúng tôi chỉ giải quyết một hàng đó.
Hãy xem điều gì sẽ xảy ra khi bạn có nhiều hàng.
Vì vậy, đây là tập hợp dữ liệu đầy đủ.
Chúng tôi có tám hàng về số giờ bạn đã ngủ, hoặc có thể đây là những học sinh khác nhau trong cùng một kỳ
thi.
Họ đã học bao nhiêu giờ khác, họ ngủ bao nhiêu giờ trước khi thi, những gì họ nhận được trong bài
kiểm tra và kết quả cuối cùng của họ trong bài kiểm tra.
Và như bạn có thể thấy ở đây bên trái, tôi có tám nhận thức trong số này.
Trên thực tế, chúng đều là một perceptron giống nhau.
Vì vậy, điều này cũng quan trọng để hiểu.
Tôi chỉ nhân nó hoặc nhân đôi tám lần để chúng ta có thể hiểu khái niệm.
Nhưng điều quan trọng ở đây là cùng một mạng nơ-ron.
Chúng tôi sẽ đưa những thứ này vào một mạng nơ-ron giống nhau.
Vì vậy, chúng ta hãy đi.
Bắt đầu nào.
Vì vậy, một kỷ nguyên, như bạn sẽ nghe, Alan đề cập đến một kỷ nguyên là khi chúng tôi xem qua toàn bộ tập dữ
liệu và chúng tôi đào tạo mạng nơ-ron của mình trên tất cả các hàng này.
Vì vậy, chúng ta hãy đi.
Bắt đầu nào.
Vì vậy, có hàng đầu tiên của chúng tôi và có mũ y cho hàng đầu tiên.
Có một hàng thứ hai.
Có mũ trắng cho hàng thứ hai.
Vì vậy, một lần nữa, nó được đưa vào cùng một mạng lưới thần kinh mỗi lần.
Tôi vừa sao chép chúng vài lần để chúng ta có thể trực quan thấy điều này đang diễn ra như thế nào.
Sau đó, một lần nữa, nó lại xảy ra.
Đó là hàng thứ ba.
Hàng thứ tư.
Có chiếc mũ trắng của chúng tôi cho hàng thứ tư, v.v.
Về cơ bản, sau đó chúng ta cũng nhận được các giá trị tương tự cho bốn hàng còn lại.
Vì vậy, mỗi khi chúng ta chỉ nạp liên tiếp vào mạng nơ-ron của mình, chúng ta sẽ nhận được một giá trị.
Sau đó, chúng tôi so sánh với các giá trị thực tế.
Vì vậy, chúng là các giá trị thực tế.
Vì vậy, đối với mỗi hàng đơn lẻ, chúng ta có một giá trị thực tế.
Và bây giờ dựa trên tất cả những khác biệt này giữa mũ trắng và y, chúng ta có thể tính
toán hàm chi phí, là tổng của tất cả những khác biệt bình phương giữa mũ trắng và y, và tất cả giá trị đó được giảm đi một nửa.
Và có chức năng chi phí của chúng tôi.
Và về cơ bản bây giờ những gì chúng tôi làm sau khi chúng tôi có đầy đủ hàm chi phí, chúng tôi quay lại và cập nhật trọng
số, chúng tôi cập nhật aw1, w hai, w ba.
Và điều quan trọng cần nhớ ở đây là tất cả các perceptron này, tất cả các mạng nơ-ron này thực
sự là một mạng nơ-ron.
Vì vậy, không có tám người trong số họ.
Chỉ có một.
Và khi chúng tôi cập nhật trọng số, chúng tôi sẽ cập nhật trọng số trong một mạng nơ-ron đó.
Vì vậy, về cơ bản, trọng lượng sẽ giống nhau cho tất cả các hàng.
Vì vậy, không phải trường hợp hàng nào cũng có trọng số riêng.
Bây giờ, tất cả các hàng có chung trọng số.
Và đó là lý do tại sao chúng tôi xem xét hàm chi phí, là tổng bình phương của sự khác biệt và sau đó chúng tôi cập
nhật trọng số.
Và bây giờ từ đây đó chỉ là một lần lặp lại.
Tiếp theo, chúng ta sẽ chạy lại toàn bộ điều này.
Chúng tôi sẽ đưa từng hàng đơn lẻ vào mạng nơ-ron, tìm ra hàm chi phí của chúng tôi và thực hiện lại toàn bộ
quá trình này.
Vì vậy, giống như chúng ta đã thấy trước đây, nơi chúng ta chỉ có một hàng và chúng ta đang làm mọi thứ lặp đi lặp lại, một
lần nữa, cùng một điều ở đây.
Nhưng bây giờ chúng ta sẽ làm điều đó với tám hàng hoặc 800 hàng hoặc 8000 hàng.
Tuy nhiên, bạn có nhiều hàng trong tập dữ liệu của mình, bạn thực hiện quá trình này và sau đó bạn tính hàm chi phí.
Và mục tiêu ở đây là giảm thiểu hàm chi phí và nhận được ngay khi bạn tìm thấy mức tối thiểu của hàm
chi phí, đó là mạng nơ-ron cuối cùng của bạn.
Điều đó có nghĩa là trọng lượng của bạn đã được điều chỉnh và bạn đã tìm thấy trọng lượng tối ưu cho tập dữ liệu mà bạn đang đào tạo này và bạn
đã sẵn sàng để tiếp tục giai đoạn thử nghiệm hoặc giai đoạn ứng dụng.
Và toàn bộ quá trình này được gọi là lan truyền ngược.
Vì vậy, một số bài đọc bổ sung mà bạn có thể muốn thực hiện cho hàm chi phí.
Và tôi biết chúng ta vừa nói về một cái và chúng là nhiều cái khác nhau.
Một bài báo tốt nằm trên xác nhận chéo.
Nó được gọi là danh sách các hàm chi phí được sử dụng trong mạng nơ-ron cùng với các ứng dụng.
Vì vậy, URL ở đó, nhưng bạn có thể chỉ cần Google cho cụm từ tìm kiếm hoặc cụm từ tìm kiếm chính xác đó và bạn sẽ thấy rằng cái
này sẽ là cái đầu tiên bật lên.
Nó thực sự có một số ví dụ tốt và các trường hợp ứng dụng hoặc sử dụng cho các hàm chi phí khác nhau.
Vì vậy, nếu bạn muốn tìm hiểu thêm về các hàm chi phí, hãy xem bài viết này.
Và trên lưu ý đó, tôi hy vọng bạn thích hướng dẫn hôm nay.
Tôi mong được gặp bạn lần sau.
Cho đến lúc đó, hãy tận hưởng việc học sâu.