Xin chào và chào mừng bạn đến với hướng dẫn Python này.
Bây giờ chúng ta sẽ tạo ra hàm chuyển tiếp sẽ truyền tín hiệu trong não ngay từ
đầu với các hình ảnh đầu vào cho đến đầu ra, sẽ chứa các giá trị tín hiệu cho tác nhân
và giá trị V là giá trị được lấy bằng hàm V dành cho nhà phê bình.
Vì vậy, nó sẽ khá giống như những gì chúng tôi đã làm cho Doom, nhưng lần này sẽ có một số điều thay đổi.
Điều chính sẽ thay đổi là bây giờ chúng ta có một máy ATM trong não, vì vậy tất cả chúng ta phải làm gì
đó nhiều hơn để truyền tín hiệu và hãy cẩn thận với điều đó.
Và điều khác ít quan trọng hơn, nhưng vẫn thay đổi so với trước đây, đó là chúng tôi sẽ
không sử dụng chức năng kích hoạt vòng lặp như bạn biết đấy, chức năng kích hoạt phi tuyến, nhưng
chúng tôi sẽ sử dụng vòng lặp, đó là một loại chức năng phức tạp hơn.
Chúng ta sẽ thấy điều đó trong tài liệu Python.
Vì vậy, chúng ta hãy làm điều này.
Hãy thực hiện chức năng này.
Chúng tôi bắt đầu với một trận thua.
Đó thực sự là chức năng cuối cùng của lớp hoạt động này.
Vì vậy, chúng tôi sẽ gọi nó về phía trước như lần trước.
Và chức năng thứ tư này sẽ tự nhận đối tượng vì chúng ta sẽ sử dụng đối tượng và
các đầu vào.
Vì vậy, điều quan trọng là phải hiểu những đầu vào này sẽ là gì?
Đây sẽ không chỉ là các hình ảnh đầu vào, các đầu vào này cũng sẽ chứa các nút ẩn và
các nút ô của nhóm.
Vì vậy, đó là lý do tại sao tôi muốn nhấn mạnh rằng một số thứ sẽ thay đổi.
Về cơ bản, chúng ta đang xem xét trong hàm chuyển tiếp các nút ẩn trong các nút di động
của STM.
Và nói về chúng bây giờ những gì chúng ta sẽ làm là tách hai đầu vào của đối số này, đầu vào trong hàm chuyển tiếp, và làm
thế nào chúng ta có thể tách chúng ra?
Chà, chúng ta có thể nhớ lại một biến mới, đó sẽ là các hình ảnh đầu vào.
Vì vậy, đó là lần này, các hình ảnh đầu vào và chúng tôi tách chúng bằng bộ ba H, X và C x, là một vài
trạng thái ẩn và trạng thái ô của lsg m nên h x là trạng thái ẩn và c x là trạng
thái ô .
Được rồi.
Và điều đó sẽ bằng với các yếu tố đầu vào.
Đó là lập luận này ở đây.
Vì vậy, bây giờ chúng ta thực hiện sự tách biệt này và do đó chúng ta có thể bắt đầu truyền tín hiệu đến khắp não bộ.
Và để làm điều đó, chúng ta sẽ liên tiếp nhận được các lớp khác nhau từ lớp đầu
tiên đến lớp cuối cùng bằng cách sử dụng các kết nối là chập, kết nối lshtm và kết nối tuyến tính ở đây,
các kết nối đầy đủ.
Vì vậy, chúng ta hãy làm điều này ngay bây giờ.
Nó sẽ giống như trước đây.
Chúng ta sẽ nhận được lớp đầu tiên mà chúng ta sẽ gọi là X và để có được lớp đầu
tiên này, chúng ta cần truyền tín hiệu từ đầu vào đến lớp đầu tiên này và do đó chúng ta cần sử
dụng tích chập đầu tiên vì nó là tích chập đầu tiên này truyền tín hiệu từ các hình ảnh đầu vào đến
lớp đầu tiên.
Vì vậy, những gì chúng ta sẽ làm bây giờ là sao chép điều này bởi vì đây là tích chập đầu tiên chúng tôi dán
nó vào đây và chúng tôi áp dụng tích chập đầu tiên này cho các hình ảnh đầu vào của chúng tôi mà bây giờ là đầu vào phù hợp.
Và chúng ta bắt đầu.
Điều đó truyền tín hiệu từ các hình ảnh đầu vào đến lớp đầu tiên.
Nhưng bây giờ hãy nhớ rằng, chúng ta phải sử dụng một hàm kích hoạt phi tuyến tính để phá vỡ độ tuyến tính để có
thể tìm hiểu các mối quan hệ phi tuyến tính bên trong các hình ảnh.
Và để làm điều này, chúng tôi sẽ sử dụng, như chúng tôi đã nói, chức năng kích hoạt ALU mà chúng tôi sắp
thấy ngay bây giờ trong tài liệu PyTorch.
Nhưng trước đó, hãy lấy nó.
Vì vậy, để có được nó, nó giống như thực sự chúng tôi lấy mô-đun chức năng có một đoạn ngắn F, sau đó chấm
và sau đó là Alu và sau đó chúng tôi đặt tất cả những thứ này trong dấu ngoặc đơn vì chúng tôi muốn kích hoạt không tuyến tính các nơ-ron của lớp đầu tiên
này mà chúng tôi có được bằng cách áp dụng tích chập đầu tiên trên các đầu vào.
Vì vậy, bây giờ chúng ta hãy đến PyTorch, Doug, để hiểu ALU là gì.
Đây là nó để bạn có thể truy cập nó vào pytorch dot org slash doug slash rn dot html.
Và sau đó bạn phải tìm các kích hoạt phi tuyến tính.
Và trong hàm kích hoạt phi tuyến, bạn sẽ thấy tốt, Lou, đó là hàm cổ điển mà chúng ta biết.
Vì vậy, nó chỉ là giá trị tối đa của 0 và x, bạn có đồ thị trong tâm trí, sau đó bạn có bản phát hành sáu, chính là
cái này.
Vì vậy, một chút tinh vi hơn.
Và chúng ta bắt đầu.
Chúng tôi có một Lou.
Và như bạn có thể thấy, một vòng lặp là một vòng lặp cộng với một phần tử bổ sung.
Vì vậy, nó giống như một giá trị tinh vi hơn.
Và đó là cách mà chúng tôi sử dụng để kích hoạt không tuyến tính các tế bào thần kinh ở các lớp khác nhau.
Và nhân tiện, hàm kích hoạt vòng lặp này được gọi là đơn vị tuyến tính hàm mũ.
Vậy là xong.
Chúng tôi áp dụng vòng lặp trên lớp tích chập đầu tiên và bây giờ mọi thứ sẽ trở nên dễ dàng.
Chúng ta sẽ tiến hành bước truyền thứ tư tiếp theo của tín hiệu, từ lớp chập đầu tiên
đến lớp chập thứ hai, mà chúng ta sẽ gọi là X, vì về cơ bản chúng ta chỉ cập nhật X
bây giờ x là lớp chập đầu tiên và bằng cách truyền tín hiệu từ lớp chập đầu tiên sang
lớp tiếp theo, x sẽ trở thành lớp chập tiếp theo.
Và do đó, để truyền tín hiệu từ lớp chập đầu tiên sang lớp thứ hai, chúng ta chỉ
cần sao chép và dán nó vào đây và thay thế conf từng lớp một.
Và tất nhiên bây giờ tích chập thứ hai không được áp dụng cho các hình ảnh đầu vào mà cho x.
Đó là lớp chập đầu tiên ở ngay đây.
Được rồi, hoàn hảo.
Bây giờ chúng ta nhận được lớp chập thứ hai và bây giờ chúng ta hãy truyền tín hiệu một lần nữa từ lớp chập thứ
hai sang lớp thứ ba.
Và do đó, chúng tôi có thể sao chép trực tiếp cái này và căn cứ vào đây và thay thế hai bằng ba.
Chúng ta bắt đầu.
Và lớp cuối cùng bây giờ để truyền tín hiệu từ lớp chập ba sang lớp thứ tư và lớp cuối cùng,
chúng ta chỉ cần sao chép lại cái này, dán cái đó vào đây và thay thế trại ba bằng bốn.
Chúng ta bắt đầu.
Vì vậy, chúng ta hãy tóm tắt lại.
Chúng tôi bắt đầu với đầu vào của chúng tôi.
Chúng tôi áp dụng tích chập đầu tiên để có được lớp tích chập đầu tiên.
Sau đó, chúng tôi áp dụng tích chập thứ hai cho lớp chập đầu tiên để thu được lớp chập
thứ hai.
Sau đó, chúng tôi áp dụng tích chập thứ ba cho lớp chập thứ hai để thu được lớp chập
thứ ba.
Và cuối cùng, chúng tôi áp dụng tích chập thứ tư cho lớp chập thứ ba để thu được lớp
chập thứ tư, và đó là cách tín hiệu được truyền qua mắt của AI.
Vậy là xong.
Bây giờ chúng ta có tín hiệu đầu ra sau bốn lần chập và bây giờ bạn biết phải làm gì.
Chúng ta cần mở rộng toàn bộ tín hiệu đầu ra này trong vector một chiều.
Đó là bước làm phẳng.
Vì vậy, chúng tôi sẽ cập nhật lại X.
X bây giờ sẽ trở thành vectơ một chiều được làm phẳng này.
Và để làm điều này, cũng giống như chúng ta cần lấy X, cho đến nay là dấu chấm x
lớp chập thứ tư.
Sau đó, chúng tôi sử dụng hàm Vue và đầu tiên chúng tôi nhập số trừ một để nói rằng chúng tôi muốn.
Vectơ một chiều.
Và sau đó là đối số thứ hai, chúng ta cần nhập số phần tử trong vectơ này, và nghĩa
là, hãy nhớ, 32 lần, ba lần ba, và do đó chúng tôi nhập vào đây 32.
Lần ba lần ba.
Chúng ta bắt đầu.
Bây giờ chúng ta đã có vector phẳng của chúng ta và bước làm phẳng đã hoàn thành.
Hoàn hảo.
Bây giờ chúng ta hãy quan tâm đến phần cuối cùng.
Vì vậy, như bạn đã hiểu, Lshtm đưa chúng tôi đầu vào.
Vectơ phẳng, vectơ một chiều này gồm ba phần tử, hai lần, ba lần ba phần tử.
Vì vậy, nó đã sẵn sàng và được chuẩn bị tốt cho Lshtm.
Lshtm bây giờ đã sẵn sàng để lấy vectơ phẳng này làm đầu vào, và do đó chúng ta có thể lấy
lshtm và các đầu vào làm đối số.
X đầu tiên là vectơ phẳng sẵn sàng là tia x này ở đây mà chúng tôi vừa thử nghiệm.
Nhưng cũng chính vì vậy mà cú đúp này phát huy tác dụng.
Chúng ta cần nhập H, X và C, x và chúng ta có thể sử dụng x và xem x ở đây vì chúng ta đã thực hiện phân
tách khỏi đối số đầu vào ban đầu của hàm chuyển tiếp.
Vì vậy, lshtm x vector đầu ra được làm phẳng lên đến bốn chập và bảng này của ẩn và
nút ô.
Vậy là xong.
Sau đó, chúng ta không được quên self vì lshtm là một biến của hàm kết thúc của chúng ta.
Vì vậy, các biến gắn với đối tượng tự đến mức LCM và điều này sẽ thực sự trở lại kết quả đầu ra một bảng gồm hai đầu
ra sẽ là các nút sức khỏe đầu ra và các nút ô đầu ra.
Vì vậy, nó thực sự là một bộ tuple và do đó chúng ta có thể cập nhật h x các nút ẩn và xem x các nút ô vì đó
chính xác là đầu ra của lshtm này ở đây.
Tuyệt quá.
Vì vậy, chúng tôi gần như hoàn thành bây giờ.
Bây giờ chúng ta đã có kết quả đầu ra của nhóm LLS, chúng ta cần có được kết quả hữu ích vì thực tế
chỉ có các ghi chú Hindu là hữu ích và do đó chúng ta sẽ có được nó bằng cách cập nhật lại x và x
bây giờ sẽ bằng h x.
Phần tử đầu tiên của cặp đầu ra của LSB x bằng h x và chúng ta sắp hoàn thành.
Hãy nhớ rằng chúng ta có hai bộ não, một bộ não cho diễn viên và một bộ não cho nhà phê bình.
Và do đó chúng ta phải xuất ra các tín hiệu để trả về tín hiệu đầu ra của tác nhân và tín hiệu đầu ra
của phản biện.
Và do đó, bây giờ những gì chúng ta sẽ làm là trả về hai tín hiệu đầu ra này.
Và làm thế nào chúng ta có thể làm điều đó?
Chà, điều đó rất dễ dàng.
Chúng tôi chỉ cần thực hiện các kết nối tuyến tính, đầy đủ của chúng tôi.
Nhưng riêng biệt, có sự kết nối tuyến tính, đầy đủ của nhà phê bình và sự kết nối đầy đủ tuyến tính
của tác nhân.
Và chúng tôi áp dụng từng kết nối này cho đầu ra x là đầu ra hữu ích của lshtm và đó sẽ là tất cả
những gì sẽ là tín hiệu đầu ra.
Vì vậy, chúng ta bắt đầu, chúng ta hãy làm điều đó.
Đầu tiên chúng ta tự lấy đối tượng của mình, sau đó chúng ta nhận được kết nối chân tuyến tính của nhà phê bình, điểm
này gạch dưới tuyến tính mà chúng tôi áp dụng cho x, tín hiệu đầu ra của lshtm và sau đó chúng tôi lấy lại bản thân,
sau đó, và sau đó chúng tôi lấy kết nối tuyến tính đầy đủ của tác nhân, là tác nhân gạch dưới tuyến tính mà
chúng ta áp dụng tương tự cho x.
Chúng ta bắt đầu.
Vì vậy, đó là điều chính chúng ta cần.
Nhưng sau đó chúng tôi cũng sẽ trả lại phần trên cùng của tất cả các ghi chú ẩn và xem X để bán các ghi chú vì chúng
tôi sẽ sử dụng chúng sau trong vòng lặp cổ điển của cảnh LSB.
Được rồi, hoàn hảo.
Vì vậy, bây giờ chúng tôi đã hoàn thành bộ não hay tôi nên nói bộ não, bởi vì chúng tôi thực sự đã tạo ra hai bộ não, một bộ não dành cho
diễn viên và một bộ não dành cho nhà phê bình.
Vì vậy, xin chúc mừng vì đã tạo ra bộ não a3c.
Tôi hy vọng điều đó không quá áp đảo khi kết hợp CNN và LCM, nhưng ít nhất tin tốt là chúng tôi đang thực sự
làm việc với mô hình tốt nhất và mạnh mẽ nhất.
Vậy là xong.
Chúng tôi thực sự đã hoàn thành với mô hình tệp đầu tiên này, chiếc bánh đó.
Và vì vậy trong hướng dẫn tiếp theo, chúng tôi sẽ quan tâm đến trình tối ưu hóa bởi vì chúng tôi sẽ tạo ra một trình tối
ưu hóa riêng biệt.
Chúng tôi sẽ không viết mã từng dòng mã vì phần lớn nó đến từ các tài liệu nghiên cứu.
Và điều này thực sự khá cụ thể.
Và nếu chúng ta đi vào chi tiết sâu sắc về những gì đang xảy ra với trình tối ưu hóa này, điều
này có thể hơi quá sức với những gì sắp xảy ra tiếp theo vì chúng ta vẫn còn hàm train để
thực hiện, đây sẽ là một hàm rất lớn và chứa thuật toán của rủi ro.
Vì vậy, hãy tin tôi, bạn muốn giữ một chút năng lượng cho việc đó, và do đó chúng tôi sẽ không dành quá nhiều thời gian
cho việc này.
Tuy nhiên, tôi sẽ giải thích mã và bạn sẽ hiểu toàn bộ ý tưởng đằng sau trình tối ưu hóa này.
Vì vậy, một lần nữa xin chúc mừng bạn đã tạo ra lớp sáng tạo tích cực này và tôi sẽ gặp lại bạn trong hướng dẫn tạo trình tối
ưu hóa tiếp theo.
Cho đến lúc đó, hãy tận hưởng.
TÔI.