Xin chào và chào mừng bạn đến với hướng dẫn Python này.
Vì vậy, bây giờ bước tiếp theo là làm cho số lượng tế bào thần kinh hoạt động để cung cấp cho chúng ta những gì chúng ta muốn.
Đó là số lượng tế bào thần kinh trong vectơ khổng lồ này sau khi các phản ứng chập được áp dụng.
Đó là thông tin còn thiếu duy nhất mà chúng tôi cần ngay bây giờ và chúng tôi sẽ lấy nó bằng chức năng.
Vì vậy, chúng ta hãy thực hiện chức năng này.
Chúng ta sẽ gọi nó là số đếm, gạch dưới các tế bào thần kinh rất đơn giản.
Và số lượng này là bao nhiêu?
Chức năng của tế bào thần kinh sẽ được coi là đối số?
Chà, nó sẽ lấy chính đối tượng, nhưng sau đó nó sẽ lấy một thứ khác, bởi vì
số lượng nơ-ron đầu ra trong lớp làm phẳng thực sự chỉ phụ thuộc vào một thứ.
Nó phụ thuộc vào kích thước của hình ảnh đầu vào ban đầu, hình ảnh xuất hiện ở phần đầu
của mạng nơ-ron.
Và vì vậy, đối số duy nhất mà chúng ta cần ngay bây giờ thực sự là các kích thước này, kích thước của các hình
ảnh đầu vào.
Do đó, hãy đặt tên cho đối số này đại diện cho các kích thước của hình ảnh đầu vào
và chúng ta sẽ gọi nó là hình ảnh mờ.
Được rồi.
Và tôi có thể cho bạn biết ngay bây giờ rằng kích thước thực tế của hình ảnh đầu vào đến từ sự diệt
vong sẽ là 80 x 80.
Chúng tôi sẽ giảm kích thước của hình ảnh gốc xuống 80 x 80 và đó sẽ là định dạng
của hình ảnh đi vào mạng nơ-ron.
Vì vậy, Image STEM thực sự sẽ là 188 và tương ứng với thực tế là chúng tôi đang làm việc với hình
ảnh đen trắng, tức là chỉ có một kênh.
Vì vậy, hình ảnh chúng sẽ bằng nhau sau này với tuple một, 80 và 80.
Được rồi.
Vì vậy, đó là lý lẽ duy nhất mà chúng ta cần.
Và bây giờ chúng ta hãy đếm các nơ-ron.
Vì vậy, làm thế nào chúng ta sẽ làm điều đó?
Trước hết, chúng tôi thực sự không có bất kỳ thiệt hại đầu vào nào ngay bây giờ.
Chúng tôi không có bất kỳ hình ảnh diệt vong nào mà chúng tôi có thể nhập.
Chúng ta sẽ làm điều đó sau.
Vì vậy, điều đầu tiên chúng ta phải làm là tạo một hình ảnh giả, nhưng có kích thước 80.
Đến năm 80, chúng ta sẽ tạo ra hình ảnh giả đó với các pixel giả, và điều đó cuối cùng sẽ vẫn cung
cấp cho chúng ta con số mà chúng ta muốn, bởi vì con số đó chỉ phụ thuộc vào kích thước chứ không phụ thuộc
vào pixel bên trong hình ảnh.
Vì vậy, chúng ta hãy tạo một hình ảnh giả để bắt đầu và sau đó chúng ta sẽ tính toán số lượng tế bào thần kinh mà chúng ta muốn.
Vì vậy, mẹo để tạo ra một hình ảnh giả là, trước hết chúng ta sẽ gọi nó là X, sau đó chúng ta sẽ sử
dụng ngọn đuốc kết xuất bởi vì, bạn biết đấy, chúng ta sẽ đặt một số pixel ngẫu nhiên trong hình ảnh này khi chúng
ta đang sử dụng các hàm ngẫu nhiên này từ đèn pin, đó là hàm chạy.
Sau đó, bên trong chúng tôi sẽ nhập, như bạn có thể thấy, kích thước của các hình ảnh là 188.
Nhưng vì chúng ta sẽ nhập hình ảnh này vào mạng nơ-ron và như bạn nhớ, mạng nơ-ron chỉ có
thể chấp nhận các lô trạng thái đầu vào ở đây, các lô hình ảnh đầu vào.
Chúng tôi sẽ tạo thứ nguyên giả mà chúng tôi có thể trực tiếp thực hiện trong hàm chạy này.
Chúng tôi thực sự chỉ cần bắt đầu với cái sẽ tương ứng với lô và sau
đó chúng tôi có thể đặt nó vào Apple 188 tương ứng với kích thước của hình ảnh đầu vào.
Và như bạn đã hiểu, các kích thước này được chứa trong đối số mờ hình ảnh này đại
diện cho bảng đó 188 Vì vậy, bây giờ chúng ta chỉ cần thêm mờ hình ảnh nhưng để chuyển các phần tử của ngôi đền vì ngay bây giờ hình
ảnh chúng là một bộ như một danh sách các đối số của một hàm chúng ta cần thêm vào đây trước khi
hình ảnh chúng ở trước bảng.
Một cửa hàng mà cửa hàng sẽ cho phép chuyển các phần tử của bộ điều chỉnh độ sáng hình ảnh dưới dạng danh sách các đối số
cho một hàm.
Và như bạn có thể thấy, đó chính xác là những gì được chỉ định ở đây với ngôi sao và kích thước.
Được rồi.
Vì vậy, điều đó sẽ tạo ra một hình ảnh của pixel giả.
Vì vậy, điều đó sẽ không liên quan gì đến các hình ảnh diệt vong.
Nhưng một lần nữa, chúng ta vẫn có thể nhận được số lượng tế bào thần kinh cuối cùng.
Và bây giờ điều cuối cùng mà chúng ta cần nhớ là chuyển đổi vectơ lô đầu vào này thành một
biến ngọn đuốc vì điều này sẽ đi vào mạng nơ-ron.
Được rồi.
Vì vậy, điều này bây giờ đại diện cho một hình ảnh đầu vào của các pixel ngẫu nhiên vừa được chuyển đổi thành một biến ngọn đuốc.
Và điều đó bây giờ sẽ đi vào mạng nơ-ron và cụ thể hơn là các lớp chập của
mạng nơ-ron.
Bởi vì chúng ta chỉ cần số lượng tế bào thần kinh sau khi áp dụng tích chập, chúng ta sẽ
chỉ đi lên tích chập ba.
Vì vậy, ngay sau lớp chập thứ ba và chúng ta sẽ không đi sâu vào các kết nối đầy đủ ở đây.
Và đó là bởi vì số lượng tế bào thần kinh mà chúng ta muốn nằm giữa tích chập ba và FC một.
Được rồi.
Vì vậy, bây giờ chúng ta đã có một hình ảnh đầu vào với kích thước phù hợp, đã đến lúc truyền hình
ảnh này vào mạng nơ-ron để đến lớp làm phẳng.
Sau đó, chúng ta sẽ lấy các tế bào thần kinh trong lớp làm phẳng và chúng ta sẽ chỉ nhận được thông tin mà chúng ta
muốn.
Đó là số lượng tế bào thần kinh trong lớp làm phẳng này.
Vì vậy, bây giờ những gì chúng ta phải làm là chính xác những gì chúng ta làm trong hàm chuyển tiếp.
Chúng ta cần truyền các tín hiệu vào mạng nơ-ron, nhưng chỉ trong các lớp chập cho đến khi chúng
ta đạt đến lớp phẳng.
Vì vậy, chúng ta hãy làm điều này.
Chúng tôi sẽ cập nhật x.
Bây giờ x là hình ảnh đầu vào và với x thứ hai ở đây x sẽ trở thành lớp chập đầu tiên.
Và bây giờ những gì chúng ta phải làm là một quy trình ba bước.
Bước đầu tiên, chúng tôi áp dụng tích chập cho các hình ảnh đầu vào.
Sau đó, bước thứ hai, chúng tôi áp dụng cắt tỉa tối đa cho các hình ảnh phức tạp thu được.
Và sau đó bước thứ ba, chúng ta kích hoạt các nơ-ron trong các hình ảnh phức tạp được gộp chung này.
Và vì vậy X sẽ trở thành lớp phức hợp đầu tiên bao gồm tất cả các nhóm này, các hình ảnh phức tạp.
Vì vậy, chúng ta hãy thực hiện bước đầu tiên này, áp dụng tích chập đầu tiên, tích chập một cho các hình ảnh đầu vào.
Vì vậy, những gì chúng tôi làm là lấy tích chập một chấm của chúng tôi.
Chúng ta bắt đầu.
Chúng tôi áp dụng nó cho các hình ảnh đầu vào của chúng tôi mà cho đến nay được đại diện bởi X.
Vì vậy, đó là bước đầu tiên.
Bước đầu tiên đã xong.
Bây giờ, bước thứ hai, chúng ta sẽ áp dụng tổng hợp tối đa cho các hình ảnh phức tạp được trả về bởi tích chập một X
và áp dụng tổng hợp tối đa.
Chà, chúng ta sẽ lấy một hàm từ mô-đun chức năng, vì vậy chúng ta lấy F là phím tắt rồi chấm
và sau đó chúng ta sẽ sử dụng nhóm tối đa của hàm thành D, đó là hàm mà chúng ta đặt tích chập một X trong ngoặc đơn
của nhóm tối đa để xác định.
Bởi vì chúng tôi áp dụng tổng hợp tối đa cho các hình ảnh phức tạp.
Nhưng hàm tổng hợp tối đa này nhận các đối số bổ sung mà đầu tiên là kích thước hạt nhân.
Vì vậy, một lần nữa, đó là kích thước của cửa sổ trượt qua các hình ảnh của bạn và điều đó sẽ chiếm tối đa
số pixel trong mỗi trang chiếu.
Điều đó vẫn sẽ phát hiện các đối tượng địa lý bởi vì các đối tượng địa lý được liên kết với giá trị cao của pixel trong
các mảng, như bạn đã thấy trong các bài giảng về trực giác.
Vì vậy, đối số đầu tiên ở đây chúng ta cần nhập là kích thước hạt nhân này và chúng ta sẽ lấy ba.
Đó là một lựa chọn phổ biến cho kích thước hạt nhân.
Và sau đó chúng ta cần nhập sải chân bằng bao nhiêu pixel nó sẽ trượt trong hình ảnh và chúng ta sẽ thực hiện
một sải chân là hai.
Một lần nữa, đó là một lựa chọn phổ biến.
Vậy là xong.
Bây giờ bước thứ hai đã xong.
Và bây giờ chúng ta hãy chuyển sang bước thứ ba, đó là kích hoạt tất cả các nơ-ron trong các hình ảnh tổng hợp và
phức tạp trong lớp phức hợp đầu tiên này.
Và để làm điều này một lần nữa, chúng tôi sẽ áp dụng một hàm cho tất cả những điều này.
Và vì vậy ở đây tôi lấy F một lần nữa vì chúng ta sẽ lấy một chức năng khác, như bạn có
thể đoán, sẽ là một chức năng kích hoạt, nhưng chức năng nào như thường lệ, nó sẽ là một chức năng kích
hoạt bộ chỉnh lưu.
Và có thể bạn nhớ tên cho đó là Réélu.
Chúng ta bắt đầu.
Đó là một trong những.
Và do đó, chúng tôi áp dụng giá trị cho các hình ảnh phức hợp tổng hợp của chúng tôi.
Đó là tất cả những điều này.
Được rồi.
Và đó là nó.
Ba bước thực hiện.
Đó là rất nhanh chóng.
Vì vậy, hãy nhớ rằng, cách chúng ta phải xem xét điều này là đầu tiên chúng ta áp dụng tích chập cho các hình ảnh đầu vào của
chúng ta, sau đó chúng ta áp dụng tổng hợp tối đa cho các hình ảnh tích tụ thu được bằng phép tích chập.
Và sau đó chúng tôi kích hoạt các nơ-ron trong tất cả lớp tích tụ được gộp chung này bằng chức năng kích hoạt bộ
chỉnh lưu.
Rất hoàn hảo.
Chúng tôi nhận được lớp phức hợp đầu tiên của chúng tôi trên đó đã được áp dụng tổng hợp tối đa và trong đó các tế bào thần kinh bây
giờ được kích hoạt.
Và về cơ bản những gì nó làm là nó truyền các tín hiệu từ lớp chập đầu tiên sang lớp
tiếp theo.
Và nói về vấn đề tiếp theo, đó chính xác là những gì chúng tôi sẽ giải quyết ngay bây giờ.
Chúng ta sẽ làm điều tương tự như chúng ta vừa làm trên lớp chập đầu tiên
đến lớp chập thứ hai để lại truyền các tín hiệu vào mạng nơron bằng cách kích hoạt các nơron của
lớp chập thứ hai.
Nhưng trước khi làm điều này, chúng ta cần lấy lớp phức hợp này.
Và vì vậy chúng ta sẽ áp dụng tích chập cho x.
Đó bây giờ là lớp chập đầu tiên mà chúng ta sẽ áp dụng phép chập cho X để có được
lớp chập thứ hai, sau đó chúng ta sẽ kéo tối đa nó và cuối cùng là kích hoạt các nơ-ron
của nó.
Vì vậy, chúng ta hãy làm điều này.
Nó thực sự rất dễ dàng.
Chúng tôi chỉ cần sao chép và dán nội dung đó bên dưới.
Và bây giờ tất nhiên chúng ta cần thay thế tích chập một bằng tích chập hai.
Và chúng ta bắt đầu.
Nó thực sự đã sẵn sàng.
C Rất dễ dàng.
Và bây giờ với dòng này, chúng ta truyền tín hiệu từ lớp chập thứ hai sang lớp tiếp
theo, sẽ là lớp chập thứ ba.
Và để có được lớp phức hợp thứ ba này, chúng ta cần phải áp dụng nó một lần nữa.
Vì vậy, tôi đang sao chép cách dán này bên dưới và thay thế tích chập hai bằng tích chập ba.
Và thế là xong.
Nó không thực tế như vậy sao?
Chúng tôi truyền tín hiệu trong ba lớp phức hợp và đèn pin nhờ cấu trúc tuyệt vời này.
Được rồi.
Rất hoàn hảo.
Bây giờ chúng ta đã truyền tín hiệu lên đến lớp phức hợp thứ ba và sau đó và nói về sau, điều đó dẫn chúng ta
đến những gì chúng ta đang tìm kiếm, những gì chúng ta quan tâm.
Đó là lớp làm phẳng.
Được rồi.
Vì vậy, bây giờ chúng ta đã có lớp chập thứ ba, đó là chữ X cuối cùng ở đây, đã đến lúc lấy lớp làm phẳng của
chúng ta.
Và đó chính xác là những gì chúng ta sẽ làm bây giờ.
Chúng tôi sẽ làm phẳng tất cả các pixel của lớp phức hợp thứ ba này.
Đó là, chúng tôi sẽ lấy tất cả các pixel của tất cả các kênh của lớp phức hợp thứ ba.
Chúng ta sẽ đặt chúng lần lượt trong một vectơ lớn.
Và tất nhiên, vectơ khổng lồ này sẽ không là gì khác ngoài lớp làm phẳng.
Và đồng thời, chúng ta sẽ sử dụng một thủ thuật để lấy số lượng tế bào thần kinh trong lớp làm phẳng này.
Đó chính xác là những gì chúng tôi đang tìm kiếm.
Đó là số lượng tế bào thần kinh mà chúng ta đang thiếu.
Và do đó, chúng ta hãy trực tiếp trả lại những gì chúng ta muốn.
Và trong lần trở lại này, chúng ta sẽ làm phẳng lớp chập thứ ba và đồng thời, số lượng tế
bào thần kinh trong lớp làm phẳng này.
Vì vậy, chúng ta sẽ lấy X, là lớp chập thứ ba của chúng ta.
Chúng tôi sẽ lấy tất cả các kênh của lớp tích hợp thứ ba này và chúng tôi sẽ
sử dụng một hàm là hàm kích thước để làm phẳng tất cả các pixel của tất cả các kênh này trong cùng một vectơ khổng lồ.
Và bạn có thể tìm thấy mẹo này trong hướng dẫn PyTorch.
Đầu tiên chúng ta lấy dữ liệu của X vì X là một cấu trúc đặc biệt, nó là một biến ngọn đuốc.
Vì vậy, nó có một cấu trúc khá phức tạp.
Nhưng trước tiên chúng ta cần truy cập nó với dữ liệu ở đây, sau đó chúng ta cần xem những gì bên trong nó.
Vì vậy, chúng tôi sử dụng chức năng khung nhìn này và bây giờ chúng tôi cần truy cập những gì chúng tôi đang tìm
kiếm và điều đó được đưa ra với các đối số là một và trừ đi một.
Bạn không cần phải hiểu những gì bên trong cấu trúc, nhưng bạn có thể hiểu rằng đây là cách chúng
ta có được số lượng tế bào thần kinh này.
Và sau đó để hoàn tất, chúng ta cần thêm kích thước, sau đó là dấu ngoặc đơn, và bên trong chúng ta nhập một.
Vì vậy, về cơ bản những gì chúng tôi làm ở đây, những gì chúng tôi làm là chúng tôi lấy tất cả các pixel của tất cả
các kênh và đặt chúng lần lượt vào vectơ khổng lồ này, sẽ là đầu vào của mạng được kết nối đầy đủ.
Về cơ bản đó là những gì kích thước một.
Và với điều này, chúng ta có thể có được số lượng tế bào thần kinh mà chúng ta đang tìm kiếm.
Được rồi.
Vì vậy, bây giờ chúng tôi có được những gì chúng tôi muốn.
Và cuối cùng, chúng ta có thể thay thế các nơ-ron số ở đây bằng những gì được trả về bởi hàm này khi
nó được áp dụng cho định dạng của hình ảnh diệt vong, đó là từng 80 x 80.
Vì vậy, những gì chúng ta phải làm bây giờ là thay thế các tế bào thần kinh số bằng cách chúng ta lấy các tế bào thần kinh số đếm.
Chức năng mà chúng tôi áp dụng cho định dạng của hình ảnh thu phóng sẽ là một bộ điều chỉnh.
80 và 80.
Và chúng ta bắt đầu.
Và tất nhiên, chúng ta không quên self vì nơron đếm thực sự là một phương thức của lớp CNN.
Vì vậy, chúng tôi cần thêm bản thân và bây giờ cảnh báo sẽ biến mất.
Và chúng ta bắt đầu.
Bây giờ mọi thứ đều tốt.
Chúng tôi có được kiến trúc của mạng nơ-ron không có gì thiếu sót.
Và chúng tôi có số lượng này.
Bạn biết đấy, các tế bào thần kinh hoạt động trong trường hợp bạn muốn thử một số kiến trúc khác và bạn không muốn đếm số lượng
tế bào thần kinh này theo cách thủ công.
Bạn chỉ cần sử dụng chức năng này, bạn áp dụng nó vào định dạng hình ảnh của mình và điều này sẽ giúp bạn có được trực tiếp những
gì bạn muốn.
Đó là số lượng tế bào thần kinh trong lớp ngập lụt mà không cần phải làm bất cứ điều gì và bất kể kiến trúc
là gì.
Vì vậy, điều đó khá tuyệt.
Và bây giờ chúng ta đã hoàn thành bước quan trọng đầu tiên của bộ não mà chúng ta đang tạo ra.
Và chúng ta có một bước cuối cùng là một hàm cuối cùng cần thực hiện, đây sẽ là hàm chuyển
tiếp chính.
Vì vậy, chúng tôi sẽ truyền các tín hiệu từ đầu não, tức là từ mắt của
AI cho đến lớp đầu ra.
Đó là sau khi kết nối đầy đủ thứ hai.
Vì vậy, chúng tôi sẽ làm điều đó trong hướng dẫn tiếp theo.
Và cho đến khi đó, hãy tận hưởng tôi.