Xin chào và chào mừng đến với hướng dẫn này.
Bây giờ chúng ta sẽ thực hiện chức năng thứ hai này để khởi tạo các trọng lượng và chức năng này sẽ được
sử dụng để tìm hiểu tối ưu về thực tế các trọng lượng này.
Vì vậy, hàm thứ hai, chúng ta sẽ gọi nó là trọng số.
Và điểm số trong đó.
Và nó sẽ coi đối số là phần cuối của đối tượng, nó sẽ đại diện cho mạng nơ-ron.
Vậy đó là tất cả.
Và sau đó là dấu hai chấm.
Và bây giờ chúng ta hãy vào bên trong hàm để xác định những gì chúng ta muốn làm.
Vì vậy, về cơ bản những gì chúng tôi muốn làm là khởi tạo các trọng số của mạng nơ-ron theo cách mà chúng tôi có được
kết quả học tập tối ưu.
Vì vậy, điều này sẽ không có vẻ đặc biệt trực quan.
Điều này dựa trên các tài liệu nghiên cứu và thí nghiệm.
Chúng tôi sẽ khởi tạo các trọng số theo một cách cụ thể mà chúng tôi chưa từng thấy trước đây, nhưng tin tôi đi, điều
đó sẽ tối ưu hóa quá trình học tập.
Vì vậy, chúng tôi sẽ chỉ thực hiện nó mà không đi vào chi tiết lý do tại sao chúng tôi khởi tạo các trọng số theo
cách này.
Và vì vậy chúng ta sẽ bắt đầu bằng cách sử dụng một thủ thuật sẽ được sử dụng sau này để
phân biệt giữa tích chập và kết nối đầy đủ.
Bởi vì, bạn biết đấy, hãy nhớ rằng mắt của chúng ta sẽ có mắt và do đó nó sẽ có
một số lớp phức tạp và tất nhiên nó cũng sẽ có một số lớp được kết nối đầy đủ và chúng ta sẽ có cách
khởi tạo trọng số khác nhau cho hai loại kết nối này.
Vì vậy, chúng tôi sẽ sử dụng thủ thuật này để tách hai loại kết nối này và sau đó chúng tôi
sẽ sử dụng một số điều kiện if để có được một khởi tạo khác nhau cho mỗi kết nối này.
Vì vậy, mẹo này là tạo một biến mới mà chúng ta sẽ gọi tên lớp và nó sẽ bằng
M đối tượng của chúng ta.
Vì vậy, M đại diện cho mạng nơ-ron, nhưng nó là một đối tượng.
Chúng ta sẽ thấy điều đó ở phần sau và chúng ta sẽ lấy thuộc tính đặc biệt từ đối tượng này,
đó sẽ là tên lớp có dấu gạch dưới kép, lớp đầu tiên, dấu gạch dưới kép, dấu gạch dưới kép lại tên và gần như vậy,
một dấu chấm kép nữa trong điểm số.
Vì vậy, đó là một thủ thuật khá xấu để tìm kiếm kiểu kết nối của đối tượng mạng mới của chúng ta.
Nhưng điều đó sẽ cung cấp cho chúng tôi chính xác những gì chúng tôi muốn.
Bạn sẽ thấy nó sẽ có ý nghĩa khi chúng ta bắt đầu các điều kiện if.
Và nhân tiện, nói về điều kiện nếu, chúng ta có thể bắt đầu chúng ngay bây giờ.
Và vì vậy những gì chúng ta sẽ làm bây giờ là bắt đầu điều kiện if đầu tiên, điều này sẽ giúp chúng ta có trường hợp đầu tiên.
Đó là nếu kết nối là một tích chập.
Và do đó, để viết điều kiện này, chúng ta viết tên lớp if.
Nhưng tốt.
Ở đây chúng tôi sử dụng một phương thức, phương thức tìm kiếm tốt và bên trong chúng tôi nhập vào dấu ngoặc kép conf cho tích chập và
vì vậy nếu tên lớp dấu chấm tìm thấy conf thì chúng tôi sẽ thực hiện khác với trừ một.
Đó thực sự là nếu chúng ta có một tích chập vì trừ một có nghĩa là không.
Trong trường hợp đó, chúng tôi sẽ thực hiện một khởi tạo đặc biệt của các trọng số.
Vì vậy, điều kiện này ở đây có nghĩa là nếu chúng ta có một kết nối chập.
Vì vậy, trong trường hợp đó, những gì chúng tôi làm là chạy khởi tạo cụ thể các trọng số mà chúng tôi muốn làm.
Và đó là nơi mà tất cả những thứ không trực quan sẽ đến.
Chúng ta sẽ bắt đầu bằng cách tạo một biến mà chúng ta sẽ gọi là trọng lượng và hình dạng hộ tống.
Vì vậy, trọng lượng trên hình dạng khóa học này sẽ là một danh sách về cơ bản sẽ chứa hình dạng của trọng lượng trong mạng nơ-ron
của chúng ta.
Và vì vậy chúng ta sẽ sử dụng hàm list để tạo một danh sách.
Và bên trong, chúng ta sẽ nhập m trọng số chấm mạng nơ-ron, trọng số này sẽ là trọng số của mạng
nơ-ron.
Nhưng trong kết nối chập.
Và để có được hình dạng của những trọng số này, chúng ta sử dụng một thuộc tính khác là dữ liệu dấu chấm và sau đó kích thước kích thước sẽ cho chúng ta
hình dạng của những trọng số này trong kết nối tích chập.
Vì vậy, bây giờ hình dạng trọng lượng chứa trong một danh sách hình dạng của các trọng số và các kết nối tích chập của mạng nơ-ron
của chúng ta và.
Được rồi.
Vì vậy, chúng ta có hình dạng tuyệt vời sau đó để khởi tạo trọng số của kết nối tích chập này, chúng ta
sẽ cần hai giá trị.
Đầu tiên là tích của chiều thứ nhất bởi chiều thứ hai, của chiều thứ ba.
Vì vậy, đó là những gì chúng ta sẽ nhận được ngay bây giờ.
Và sau đó, chúng ta cũng sẽ cần lấy thứ nguyên số không nhân với thứ nguyên thứ hai, nhân với thứ nguyên thứ ba,
và sau đó chúng ta sẽ sử dụng hai giá trị này để tính toán cách chúng ta khởi tạo trọng số.
Vì vậy, chúng ta hãy nhận những điều này đến sản phẩm đầu tiên này.
Chúng tôi gọi nó là quạt trong, và điều đó sẽ tương đương với sản phẩm.
Và chúng ta sẽ sử dụng hàm prod, một hàm của numpy, có phím tắt.
NP Vì vậy, np sản phẩm đó và sản phẩm bên trong chúng ta nhập những gì chúng ta muốn để tạo ra sản phẩm.
Và như chúng tôi đã nói, đó là kích thước một, hai và ba của hình dạng cân nặng của chúng ta.
Và để có được điều này, chúng ta có thể định hình cân nặng của mình.
Và lấy các chỉ số của ba chiều này.
Và vì vậy chúng tôi đã nói rằng đó là thứ nguyên một cho đến thứ nguyên ba được bao gồm, vì vậy, tối đa thứ nguyên bị loại trừ.
Và đó là cách chúng ta có thể lấy nó cho giới hạn trên ở đây không được bao gồm.
Vì vậy, đó chính xác là những gì chúng tôi muốn lúc đó.
Tương tự đối với quạt ra ngoài.
Như chúng ta đã nói, quạt ra sẽ là sản phẩm của thứ nguyên, thứ nguyên bằng không, hai lần
thứ nguyên ba.
Và vì vậy, ở đây chúng ta có thể lấy chỉ mục từ hai bao gồm đến bốn loại trừ.
Vì vậy, điều đó sẽ cho chúng ta tích của thứ nguyên hai và ba, và sau đó chúng ta có thể nhân nó
với thứ nguyên không, mà chúng ta có thể truy cập với hình dạng trọng số bằng không của chỉ số không.
Vì vậy, tóm lại, điều này là mờ một lần, mờ hai lần, mờ ba và.
Ngay bên dưới chúng tôi có.
Jim số không.
Lần Dim đến lần mờ ba cách của chúng tôi, hình dạng, danh sách các trọng lượng.
Được rồi, vì vậy bây giờ chúng ta sẽ sử dụng hai giá trị này quạt vào và quạt ra
để tiếp tục khởi tạo, bởi vì chúng ta sẽ tính toán một giá trị mới mà chúng ta sẽ gọi là W ràng buộc và
giá trị đó sẽ bằng căn bậc hai mà chúng ta có thể nhận được với hàm và p từ chúng bằng tập lệnh đó chính xác như trước đây.
Vì vậy, căn bậc hai của sáu chia cho quạt và cộng với quạt ra, vì vậy chúng tôi đi đến quạt trong cộng với quạt ngoài đó.
Vì vậy, W ràng buộc ở đây thể hiện theo một cách nào đó kích thước của trọng lượng dự kiến.
Và tại sao chúng tôi có được điều này?
Đó là bởi vì điều chúng tôi sắp làm bây giờ là chúng tôi muốn tạo ra một số trọng số ngẫu nhiên tỷ
lệ nghịch với kích thước của hàng chục trọng lượng, bởi vì thực sự những gì chúng tôi sắp làm
bây giờ là lấy mạng mới của chúng tôi, M .
Sau đó, nhận trọng lượng của nó.
Vì vậy, bằng cách vẫn lấy trọng số thuộc tính, sau đó dư thừa.
Đó là dữ liệu là chính cảm biến.
Và sau đó từ tensor trọng lượng này, chúng ta sẽ tạo ra một số trọng lượng ngẫu nhiên tỷ lệ
nghịch với kích thước của tensor trọng lượng.
Và vì vậy trong hàm thống nhất này, bây giờ chúng ta phải nhập dải dưới sẽ trừ đi giới hạn W và
giới hạn trên, sẽ cộng với giới hạn W.
Vì vậy, đó là cho trọng lượng.
Và bây giờ chúng ta cần khởi tạo độ chệch và tin tốt cho độ chệch.
Nó sẽ đơn giản hơn nhiều.
Chúng tôi sẽ khởi tạo tất cả chúng bằng số không.
Vì vậy, để có được những bios này, chúng tôi lấy chúng từ mô hình của chúng tôi.
Tất nhiên, đó là mạng nơ-ron của chúng tôi.
Và sau đó thuộc tính cho sự thiên vị là sự thiên vị.
Sau đó, chúng tôi cũng tồn tại trong dữ liệu và sau đó chúng tôi sẽ sử dụng một phương pháp là phương pháp điền vào phương pháp điểm số,
như bạn có thể đoán, được sử dụng để lấp đầy hàng chục thiên vị bằng các số không.
Chà, với các số không, chúng ta phải xác định rằng chúng ta muốn điền nó bằng các số không ở đây.
Và đó là lý do tại sao tôi nhập vào đây.
Số không.
Được rồi.
Vì vậy, để tóm tắt, chúng tôi tạo ra một số trọng số ngẫu nhiên tỷ lệ nghịch với kích thước của trọng số tensor và chúng
tôi khởi tạo độ lệch bằng các số không.
Được rồi.
Vì vậy, đó là để khởi tạo các kết nối chập.
Và bây giờ chúng ta cần làm tương tự để kết nối đầy đủ.
Và vì vậy chúng tôi sẽ thêm một điều kiện mới, Elif, nói rằng, chúng tôi thực hiện thủ thuật này, chúng tôi sử dụng tên
lớp đầu tiên, đó là biến này chứa các tên khác nhau của các kết nối.
Vì vậy, nếu tên lớp giống nhau, chúng tôi sử dụng phương thức xác định.
Mà chúng tôi đặt trong dấu ngoặc kép lần này là một kết nối đầy đủ là kết nối tuyến tính cổ điển và mạng nơ-ron
nhân tạo cổ điển.
Vì vậy, tên của nó là tuyến tính và nói rằng, chúng ta sẽ sử dụng thủ thuật này để nói rằng
chúng ta muốn nó khác với trừ một.
Vì vậy, đó là phần cuối của lớp chín tuyến tính tốt, khác và trừ một nghĩa là nếu kết nối là tuyến tính, nghĩa là nếu chúng ta có
một kết nối đầy đủ cổ điển.
Vậy trong trường hợp đó, chúng ta sẽ khởi tạo các trọng số như thế nào?
Chà, nó sẽ khá giống nhau.
Chúng tôi sẽ giới thiệu một biến hình dạng trọng lượng sẽ không xóa biến số đầu tiên vì chúng tôi sẽ ở trong trường
hợp này hoặc trường hợp kia.
Vì vậy, nó sẽ không giống nhau.
Vì vậy chúng ta hoàn toàn có thể sử dụng lại cái đó.
Sau đó, tương tự.
Chúng tôi sẽ giới thiệu một chiếc quạt có thể thay đổi, mà lần này sẽ không bằng sản phẩm của
ba chiều này.
Nhưng thực sự lần này nó sẽ bằng với đơn giản.
Tôi đã đề cập đến một?
Và đó là bởi vì đối với kết nối đầy đủ, có ít kết nối hơn so với kết nối chập.
Bạn biết đấy, bạn đã thấy điều này trong các bài giảng về trực giác trong phần N và phần CNN.
Có ít thứ nguyên hơn cho một kết nối đầy đủ hơn so với tích chập.
Vì vậy, về cơ bản, chúng ta chỉ lấy thứ nguyên này ở đây, sau đó nói rằng chúng ta sẽ có một biến được tạo ra
sau đó sẽ sử dụng để tính toán giới hạn w.
Và một chiều này sẽ là hình dạng trọng số của chỉ số không.
Đó là thứ nguyên không.
Được rồi, sau đó để tính w ràng buộc, nó sẽ giống nhau.
Nó sẽ là căn bậc hai của sáu chia cho tổng của quạt và quạt ra.
Vậy là xong.
Và tin tốt là nó giống hệt như trước đây.
Chúng tôi đã sử dụng một hàm thống nhất cho các trọng số và hàm điền cho độ lệch để có được cùng một
kiểu khởi tạo.
Nhưng lần này với một người hâm mộ khác nhau và người hâm mộ ra và do đó giới hạn khác nhau.
Vì vậy, đó là cùng một nguyên tắc.
Đó là cùng một ý tưởng.
Điều duy nhất thay đổi ở đây là chúng ta có ít kích thước hơn cho kết nối đầy đủ và do
đó, việc tính toán giới hạn trọng số này đơn giản hơn ở đây để tạo ra các trọng số ngẫu nhiên này.
Nhưng tin tốt là bây giờ nó đã sẵn sàng.
Không chỉ sự chờ đợi này mà chức năng của nó đã sẵn sàng, mà bây giờ chúng ta có hai công cụ của mình và vì vậy chúng ta đã sẵn sàng để bắt
đầu xây dựng bộ não.
Vì vậy, tôi không thể chờ đợi.
Tất nhiên, đây sẽ là phần thú vị nhất.
Điều này chỉ để khởi động và giúp chúng tôi sẵn sàng cho những điều lớn lao, vì vậy chúng tôi sẽ giải quyết vấn đề đó trong hướng
dẫn tiếp theo.
Thực ra, sẽ cần một vài hướng dẫn.
Tất nhiên, chúng ta sẽ bắt đầu bằng cách tạo mắt và sau đó nhớ rằng chúng ta sẽ thêm một lshtm để tìm hiểu các thuộc tính thời
gian của đầu vào, sau đó chúng ta sẽ quan tâm đến diễn viên và nhà phê bình.
Và đó là nơi chúng ta sẽ sử dụng hai cột chuẩn hóa hàm này, khởi tạo và trọng số trong đó.
Vì vậy, tôi không thể chờ đợi để làm điều đó.
Bây giờ chúng tôi sẽ tạo ra một thứ gì đó rất mạnh mẽ, vì vậy hãy sẵn sàng cho nó.
Cho đến lúc đó, hãy tận hưởng.
TÔI.