diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ar.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ar.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ar.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.bg.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.bg.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.bg.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.bn.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.bn.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.bn.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.br.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.br.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.br.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.cs.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.cs.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.cs.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.da.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.da.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.da.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.de.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.de.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.de.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.el.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.el.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.el.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.es.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.es.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.es.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.et.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.et.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.et.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fa.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fa.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fa.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fi.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fi.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fi.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fr.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fr.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.fr.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.he.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.he.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.he.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hi.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hi.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hi.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hk.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hk.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hk.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hr.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hr.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hr.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hu.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hu.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.hu.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.id.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.id.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.id.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.it.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.it.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.it.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ja.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ja.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ja.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.kn.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.kn.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.kn.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ko.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ko.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ko.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.lt.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.lt.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.lt.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ml.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ml.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ml.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.mo.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.mo.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.mo.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.mr.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.mr.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.mr.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ms.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ms.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ms.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.my.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.my.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.my.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ne.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ne.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ne.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.nl.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.nl.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.nl.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.no.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.no.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.no.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pa.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pa.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pa.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pcm.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pcm.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pcm.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pl.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pl.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pl.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pt.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pt.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.pt.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ro.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ro.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ro.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ru.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ru.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ru.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sk.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sk.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sk.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sl.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sl.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sl.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sr.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sr.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sr.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sv.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sv.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sv.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sw.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sw.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.sw.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ta.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ta.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ta.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.te.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.te.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.te.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.th.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.th.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.th.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tl.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tl.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tl.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tr.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tr.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tr.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tw.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tw.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.tw.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.uk.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.uk.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.uk.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ur.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ur.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.ur.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.vi.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.vi.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.vi.jpg differ diff --git a/translated_images/1200px-Girl_and_cat.89bd70951181e86a.zh.jpg b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.zh.jpg new file mode 100644 index 00000000..7112c185 Binary files /dev/null and b/translated_images/1200px-Girl_and_cat.89bd70951181e86a.zh.jpg differ diff --git a/translated_images/AND-OR-Tree.5592d2c70187f283.ar.png b/translated_images/AND-OR-Tree.5592d2c70187f283.ar.png new file mode 100644 index 00000000..9e863d49 Binary files /dev/null and b/translated_images/AND-OR-Tree.5592d2c70187f283.ar.png differ diff --git a/translated_images/AND-OR-Tree.5592d2c70187f283.bg.png b/translated_images/AND-OR-Tree.5592d2c70187f283.bg.png new file mode 100644 index 00000000..aed9bffe Binary files /dev/null and b/translated_images/AND-OR-Tree.5592d2c70187f283.bg.png differ diff --git a/translated_images/AND-OR-Tree.5592d2c70187f283.bn.png b/translated_images/AND-OR-Tree.5592d2c70187f283.bn.png new file mode 100644 index 00000000..59d52e0c Binary files /dev/null and b/translated_images/AND-OR-Tree.5592d2c70187f283.bn.png differ diff --git a/translated_images/AND-OR-Tree.5592d2c70187f283.br.png b/translated_images/AND-OR-Tree.5592d2c70187f283.br.png new file mode 100644 index 00000000..489eb68b Binary files /dev/null and b/translated_images/AND-OR-Tree.5592d2c70187f283.br.png differ diff --git a/translations/vi/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb b/translations/vi/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb index 16b47fec..c9b23beb 100644 --- a/translations/vi/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb +++ b/translations/vi/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb @@ -188,7 +188,7 @@ "\n", "Biểu diễn vector **Bag-of-words** (BoW) là cách biểu diễn vector truyền thống đơn giản nhất để hiểu. Mỗi từ được liên kết với một chỉ số vector, và một phần tử trong vector chứa số lần xuất hiện của mỗi từ trong một tài liệu cụ thể.\n", "\n", - "![Hình ảnh minh họa cách biểu diễn vector bag-of-words trong bộ nhớ.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba98a9d693e3bcd706c6e83fa7bf8221e6e90d1a206d82f2ea4.vi.png) \n", + "![Hình ảnh minh họa cách biểu diễn vector bag-of-words trong bộ nhớ.](../../../../../translated_images/bag-of-words-example.606fc1738f1d7ba9.vi.png) \n", "\n", "> **Note**: Bạn cũng có thể nghĩ về BoW như tổng của tất cả các vector mã hóa một-hot cho từng từ trong văn bản.\n", "\n", diff --git a/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb b/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb index e4cb7c8b..570b1087 100644 --- a/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb +++ b/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb @@ -62,7 +62,7 @@ "\n", "Bằng cách sử dụng lớp nhúng làm lớp đầu tiên trong mạng của chúng ta, chúng ta có thể chuyển từ mô hình túi từ (**bag-of-words**) sang mô hình túi nhúng (**embedding bag**), nơi chúng ta đầu tiên chuyển đổi mỗi từ trong văn bản thành nhúng tương ứng, sau đó tính toán một hàm tổng hợp nào đó trên tất cả các nhúng đó, chẳng hạn như `sum`, `average` hoặc `max`.\n", "\n", - "![Hình ảnh minh họa một bộ phân loại nhúng cho năm từ trong chuỗi.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.vi.png)\n", + "![Hình ảnh minh họa một bộ phân loại nhúng cho năm từ trong chuỗi.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.vi.png)\n", "\n", "Mạng neural phân loại của chúng ta sẽ bắt đầu với lớp nhúng, sau đó là lớp tổng hợp, và cuối cùng là bộ phân loại tuyến tính ở trên cùng:\n" ] @@ -176,7 +176,7 @@ "\n", "Trong kiến trúc trước, chúng ta cần đệm tất cả các chuỗi để có cùng độ dài nhằm đưa chúng vào một minibatch. Đây không phải là cách hiệu quả nhất để biểu diễn các chuỗi có độ dài biến đổi - một cách tiếp cận khác là sử dụng **vector offset**, chứa các điểm bắt đầu của tất cả các chuỗi được lưu trữ trong một vector lớn.\n", "\n", - "![Hình ảnh minh họa biểu diễn chuỗi bằng offset](../../../../../translated_images/offset-sequence-representation.eb73fcefb29b46eecfbe74466077cfeb7c0f93a4f254850538a2efbc63517479.vi.png)\n", + "![Hình ảnh minh họa biểu diễn chuỗi bằng offset](../../../../../translated_images/offset-sequence-representation.eb73fcefb29b46ee.vi.png)\n", "\n", "> **Note**: Trong hình trên, chúng ta minh họa một chuỗi ký tự, nhưng trong ví dụ của chúng ta, chúng ta đang làm việc với các chuỗi từ. Tuy nhiên, nguyên tắc chung của việc biểu diễn chuỗi bằng vector offset vẫn giữ nguyên.\n", "\n", @@ -311,7 +311,7 @@ "\n", "CBoW nhanh hơn, trong khi skip-gram chậm hơn nhưng làm tốt hơn trong việc biểu diễn các từ ít xuất hiện.\n", "\n", - "![Hình ảnh minh họa cả hai thuật toán CBoW và Skip-Gram để chuyển đổi từ thành vector.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.vi.png)\n", + "![Hình ảnh minh họa cả hai thuật toán CBoW và Skip-Gram để chuyển đổi từ thành vector.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.vi.png)\n", "\n", "Để thử nghiệm với nhúng word2vec được tiền huấn luyện trên tập dữ liệu Google News, chúng ta có thể sử dụng thư viện **gensim**. Dưới đây là cách tìm các từ giống nhất với 'neural'\n", "\n", diff --git a/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb b/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb index ddd0805f..4af18d74 100644 --- a/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb +++ b/translations/vi/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb @@ -37,7 +37,7 @@ "\n", "Bằng cách sử dụng lớp embedding làm lớp đầu tiên trong mạng của chúng ta, chúng ta có thể chuyển từ mô hình bag-of-words sang mô hình **embedding bag**, nơi chúng ta đầu tiên chuyển đổi mỗi từ trong văn bản thành embedding tương ứng, sau đó tính toán một số hàm tổng hợp trên tất cả các embedding đó, chẳng hạn như `sum`, `average` hoặc `max`.\n", "\n", - "![Hình ảnh minh họa một bộ phân loại embedding cho năm từ trong chuỗi.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.vi.png)\n", + "![Hình ảnh minh họa một bộ phân loại embedding cho năm từ trong chuỗi.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.vi.png)\n", "\n", "Mạng neural phân loại của chúng ta bao gồm các lớp sau:\n", "\n", @@ -283,7 +283,7 @@ "\n", "CBoW nhanh hơn, trong khi skip-gram chậm hơn nhưng lại làm tốt hơn trong việc biểu diễn các từ ít xuất hiện.\n", "\n", - "![Hình minh họa cả hai thuật toán CBoW và Skip-Gram để chuyển đổi từ thành vector.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.vi.png)\n", + "![Hình minh họa cả hai thuật toán CBoW và Skip-Gram để chuyển đổi từ thành vector.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.vi.png)\n", "\n", "Để thử nghiệm với nhúng Word2Vec được tiền huấn luyện trên tập dữ liệu Google News, chúng ta có thể sử dụng thư viện **gensim**. Dưới đây là cách tìm các từ giống nhất với 'neural'.\n", "\n", diff --git a/translations/vi/lessons/5-NLP/14-Embeddings/README.md b/translations/vi/lessons/5-NLP/14-Embeddings/README.md index 09403fb0..2b497f4e 100644 --- a/translations/vi/lessons/5-NLP/14-Embeddings/README.md +++ b/translations/vi/lessons/5-NLP/14-Embeddings/README.md @@ -19,7 +19,7 @@ Vì vậy, lớp nhúng sẽ nhận một từ làm đầu vào và tạo ra m Bằng cách sử dụng lớp nhúng làm lớp đầu tiên trong mạng phân loại của chúng ta, chúng ta có thể chuyển từ mô hình túi từ sang mô hình **túi nhúng**, nơi chúng ta đầu tiên chuyển đổi mỗi từ trong văn bản của mình thành nhúng tương ứng, và sau đó tính toán một số hàm tổng hợp trên tất cả các nhúng đó, chẳng hạn như `sum`, `average` hoặc `max`. -![Hình ảnh minh họa một bộ phân loại nhúng cho năm từ trong chuỗi.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.vi.png) +![Hình ảnh minh họa một bộ phân loại nhúng cho năm từ trong chuỗi.](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.vi.png) > Hình ảnh của tác giả @@ -40,7 +40,7 @@ Mặc dù lớp nhúng đã học cách ánh xạ các từ sang biểu diễn v CBoW nhanh hơn, trong khi skip-gram chậm hơn nhưng làm tốt hơn trong việc biểu diễn các từ ít xuất hiện. -![Hình ảnh minh họa cả hai thuật toán CBoW và Skip-Gram để chuyển đổi từ thành vector.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.vi.png) +![Hình ảnh minh họa cả hai thuật toán CBoW và Skip-Gram để chuyển đổi từ thành vector.](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.vi.png) > Hình ảnh từ [bài báo này](https://arxiv.org/pdf/1301.3781.pdf) diff --git a/translations/vi/lessons/5-NLP/15-LanguageModeling/README.md b/translations/vi/lessons/5-NLP/15-LanguageModeling/README.md index ac1bd7ee..26169aa0 100644 --- a/translations/vi/lessons/5-NLP/15-LanguageModeling/README.md +++ b/translations/vi/lessons/5-NLP/15-LanguageModeling/README.md @@ -23,7 +23,7 @@ Trong các ví dụ trước, chúng ta đã sử dụng các biểu diễn ng * **Continuous Bag-of-Words** (CBoW), khi chúng ta dự đoán token ở giữa $W_0$ trong một chuỗi token $W_{-N}$, ..., $W_N$. * **Skip-gram**, nơi chúng ta dự đoán một tập hợp các token lân cận {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$} từ token ở giữa $W_0$. -![hình ảnh từ bài báo về chuyển đổi từ thành vector](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.vi.png) +![hình ảnh từ bài báo về chuyển đổi từ thành vector](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.vi.png) > Hình ảnh từ [bài báo này](https://arxiv.org/pdf/1301.3781.pdf) diff --git a/translations/vi/lessons/5-NLP/16-RNN/README.md b/translations/vi/lessons/5-NLP/16-RNN/README.md index da21f2f8..2f0145e8 100644 --- a/translations/vi/lessons/5-NLP/16-RNN/README.md +++ b/translations/vi/lessons/5-NLP/16-RNN/README.md @@ -15,7 +15,7 @@ Trong các phần trước, chúng ta đã sử dụng các biểu diễn ngữ Để nắm bắt ý nghĩa của chuỗi văn bản, chúng ta cần sử dụng một kiến trúc mạng nơ-ron khác, được gọi là **mạng nơ-ron tái phục hồi**, hay RNN. Trong RNN, chúng ta đưa câu qua mạng từng ký hiệu một, và mạng sẽ tạo ra một **trạng thái**, sau đó chúng ta đưa trạng thái này vào mạng cùng với ký hiệu tiếp theo. -![RNN](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.vi.png) +![RNN](../../../../../translated_images/rnn.27f5c29c53d727b5.vi.png) > Hình ảnh của tác giả @@ -61,7 +61,7 @@ Chúng ta đã thảo luận về các mạng tái phục hồi hoạt động t Một mạng tái phục hồi, dù là một chiều hay hai chiều, nắm bắt các mẫu nhất định trong một chuỗi và có thể lưu trữ chúng vào một vector trạng thái hoặc truyền vào đầu ra. Tương tự như các mạng tích chập, chúng ta có thể xây dựng một lớp tái phục hồi khác trên lớp đầu tiên để nắm bắt các mẫu cấp cao hơn và xây dựng từ các mẫu cấp thấp được trích xuất bởi lớp đầu tiên. Điều này dẫn đến khái niệm về một **RNN nhiều lớp**, bao gồm hai hoặc nhiều mạng tái phục hồi, trong đó đầu ra của lớp trước được truyền vào lớp tiếp theo làm đầu vào. -![Hình ảnh minh họa một RNN LSTM nhiều lớp](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.vi.jpg) +![Hình ảnh minh họa một RNN LSTM nhiều lớp](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.vi.jpg) *Hình ảnh từ [bài viết tuyệt vời này](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) của Fernando López* diff --git a/translations/vi/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb b/translations/vi/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb index c1e1f788..cb36702b 100644 --- a/translations/vi/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb +++ b/translations/vi/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb @@ -422,7 +422,7 @@ "\n", "Mạng hồi quy, dù một chiều hay hai chiều, đều nắm bắt các mẫu nhất định trong một chuỗi và có thể lưu trữ chúng vào vector trạng thái hoặc truyền vào đầu ra. Tương tự như mạng tích chập, chúng ta có thể xây dựng một lớp hồi quy khác trên lớp đầu tiên để nắm bắt các mẫu cấp cao hơn, được xây dựng từ các mẫu cấp thấp do lớp đầu tiên trích xuất. Điều này dẫn đến khái niệm **RNN nhiều lớp**, bao gồm hai hoặc nhiều mạng hồi quy, trong đó đầu ra của lớp trước được truyền vào lớp tiếp theo làm đầu vào.\n", "\n", - "![Hình ảnh minh họa một mạng RNN LSTM nhiều lớp](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.vi.jpg)\n", + "![Hình ảnh minh họa một mạng RNN LSTM nhiều lớp](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.vi.jpg)\n", "\n", "*Hình ảnh từ [bài viết tuyệt vời này](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) của Fernando López*\n", "\n", diff --git a/translations/vi/lessons/5-NLP/16-RNN/RNNTF.ipynb b/translations/vi/lessons/5-NLP/16-RNN/RNNTF.ipynb index 85553b1a..ce4791ef 100644 --- a/translations/vi/lessons/5-NLP/16-RNN/RNNTF.ipynb +++ b/translations/vi/lessons/5-NLP/16-RNN/RNNTF.ipynb @@ -10,7 +10,7 @@ "\n", "Để nắm bắt ý nghĩa của một chuỗi văn bản, chúng ta sẽ sử dụng một kiến trúc mạng nơ-ron gọi là **mạng nơ-ron hồi quy**, hay RNN. Khi sử dụng RNN, chúng ta truyền câu qua mạng từng token một, và mạng tạo ra một **trạng thái**, sau đó chúng ta truyền trạng thái này vào mạng cùng với token tiếp theo.\n", "\n", - "![Hình minh họa một ví dụ về quá trình tạo mạng nơ-ron hồi quy.](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.vi.png)\n", + "![Hình minh họa một ví dụ về quá trình tạo mạng nơ-ron hồi quy.](../../../../../translated_images/rnn.27f5c29c53d727b5.vi.png)\n", "\n", "Với chuỗi đầu vào các token $X_0,\\dots,X_n$, RNN tạo ra một chuỗi các khối mạng nơ-ron và huấn luyện chuỗi này từ đầu đến cuối bằng cách sử dụng lan truyền ngược. Mỗi khối mạng nhận một cặp $(X_i,S_i)$ làm đầu vào và tạo ra $S_{i+1}$ làm kết quả. Trạng thái cuối cùng $S_n$ hoặc đầu ra $Y_n$ được đưa vào một bộ phân loại tuyến tính để tạo ra kết quả. Tất cả các khối mạng đều chia sẻ cùng một trọng số và được huấn luyện từ đầu đến cuối bằng một lần lan truyền ngược.\n", "\n", @@ -369,7 +369,7 @@ "\n", "Mạng hồi quy, dù là một chiều hay hai chiều, đều nắm bắt các mẫu trong một chuỗi và lưu trữ chúng vào các vector trạng thái hoặc trả về chúng dưới dạng đầu ra. Tương tự như mạng tích chập, chúng ta có thể xây dựng một lớp hồi quy khác sau lớp đầu tiên để nắm bắt các mẫu cấp cao hơn, được xây dựng từ các mẫu cấp thấp hơn mà lớp đầu tiên đã trích xuất. Điều này dẫn đến khái niệm về **RNN nhiều lớp**, bao gồm hai hoặc nhiều mạng hồi quy, trong đó đầu ra của lớp trước được truyền vào lớp tiếp theo dưới dạng đầu vào.\n", "\n", - "![Hình ảnh minh họa một RNN LSTM nhiều lớp](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.vi.jpg)\n", + "![Hình ảnh minh họa một RNN LSTM nhiều lớp](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.vi.jpg)\n", "\n", "*Hình ảnh từ [bài viết tuyệt vời này](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3) của Fernando López.*\n", "\n", diff --git a/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb b/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb index 727c6039..0eabfa22 100644 --- a/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb +++ b/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb @@ -119,7 +119,7 @@ "\n", "Cách chúng ta sẽ huấn luyện RNN để tạo văn bản như sau. Ở mỗi bước, chúng ta sẽ lấy một chuỗi ký tự có độ dài `nchars`, và yêu cầu mạng tạo ra ký tự đầu ra tiếp theo cho mỗi ký tự đầu vào:\n", "\n", - "![Hình minh họa ví dụ RNN tạo ra từ 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.vi.png)\n", + "![Hình minh họa ví dụ RNN tạo ra từ 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.vi.png)\n", "\n", "Tùy thuộc vào tình huống thực tế, chúng ta cũng có thể muốn bao gồm một số ký tự đặc biệt, chẳng hạn như *kết thúc chuỗi* ``. Trong trường hợp của chúng ta, mục tiêu là huấn luyện mạng để tạo văn bản liên tục, vì vậy chúng ta sẽ cố định kích thước của mỗi chuỗi bằng số lượng token `nchars`. Do đó, mỗi ví dụ huấn luyện sẽ bao gồm `nchars` đầu vào và `nchars` đầu ra (là chuỗi đầu vào được dịch sang trái một ký tự). Minibatch sẽ bao gồm một số chuỗi như vậy.\n", "\n", diff --git a/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb b/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb index 69d47af2..38270e2b 100644 --- a/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb +++ b/translations/vi/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb @@ -111,7 +111,7 @@ "\n", "Cách chúng ta sẽ huấn luyện RNN để tạo tiêu đề tin tức như sau. Ở mỗi bước, chúng ta sẽ lấy một tiêu đề, tiêu đề này sẽ được đưa vào RNN, và với mỗi ký tự đầu vào, chúng ta sẽ yêu cầu mạng tạo ra ký tự đầu ra tiếp theo:\n", "\n", - "![Hình ảnh minh họa việc RNN tạo ra từ 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.vi.png)\n", + "![Hình ảnh minh họa việc RNN tạo ra từ 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.vi.png)\n", "\n", "Đối với ký tự cuối cùng của chuỗi, chúng ta sẽ yêu cầu mạng tạo ra token ``.\n", "\n", diff --git a/translations/vi/lessons/5-NLP/17-GenerativeNetworks/README.md b/translations/vi/lessons/5-NLP/17-GenerativeNetworks/README.md index 7ebefd66..bbe5b138 100644 --- a/translations/vi/lessons/5-NLP/17-GenerativeNetworks/README.md +++ b/translations/vi/lessons/5-NLP/17-GenerativeNetworks/README.md @@ -19,7 +19,7 @@ Trong kiến trúc RNN mà chúng ta đã thảo luận trong bài trước, m Điều này cho phép các kiến trúc nơ-ron khác nhau như được hiển thị trong hình dưới đây: -![Hình ảnh hiển thị các mẫu mạng nơ-ron hồi quy phổ biến.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.vi.jpg) +![Hình ảnh hiển thị các mẫu mạng nơ-ron hồi quy phổ biến.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.vi.jpg) > Hình ảnh từ bài viết blog [Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) của [Andrej Karpaty](http://karpathy.github.io/) @@ -32,7 +32,7 @@ Trong bài này, chúng ta sẽ tập trung vào các mô hình tạo sinh đơn Chúng ta sẽ huấn luyện RNN này để tạo văn bản từng bước. Ở mỗi bước, chúng ta sẽ lấy một chuỗi ký tự có độ dài `nchars`, và yêu cầu mạng tạo ra ký tự đầu ra tiếp theo cho mỗi ký tự đầu vào: -![Hình ảnh minh họa RNN tạo ra từ 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.vi.png) +![Hình ảnh minh họa RNN tạo ra từ 'HELLO'.](../../../../../translated_images/rnn-generate.56c54afb52f9781d.vi.png) Khi tạo văn bản (trong quá trình suy luận), chúng ta bắt đầu với một **gợi ý**, được truyền qua các tế bào RNN để tạo trạng thái trung gian của nó, và sau đó từ trạng thái này bắt đầu quá trình tạo. Chúng ta tạo từng ký tự một, và truyền trạng thái cùng ký tự vừa tạo vào một tế bào RNN khác để tạo ký tự tiếp theo, cho đến khi tạo đủ số ký tự. diff --git a/translations/vi/lessons/5-NLP/18-Transformers/README.md b/translations/vi/lessons/5-NLP/18-Transformers/README.md index 09b2a8d6..093f20c9 100644 --- a/translations/vi/lessons/5-NLP/18-Transformers/README.md +++ b/translations/vi/lessons/5-NLP/18-Transformers/README.md @@ -20,13 +20,13 @@ Với RNNs, sequence-to-sequence được thực hiện bởi hai mạng hồi q **Cơ chế Attention** cung cấp một cách để cân nhắc tác động ngữ cảnh của từng vector đầu vào lên từng dự đoán đầu ra của RNN. Cách nó được thực hiện là tạo các đường tắt giữa các trạng thái trung gian của RNN đầu vào và RNN đầu ra. Theo cách này, khi tạo ra ký hiệu đầu ra yt, chúng ta sẽ xem xét tất cả các trạng thái ẩn đầu vào hi, với các hệ số trọng số khác nhau αt,i. -![Hình ảnh mô tả mô hình encoder/decoder với lớp attention cộng](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.vi.png) +![Hình ảnh mô tả mô hình encoder/decoder với lớp attention cộng](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.vi.png) > Mô hình encoder-decoder với cơ chế attention cộng trong [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), trích dẫn từ [bài viết blog này](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html) Ma trận attention {αi,j} sẽ biểu thị mức độ mà các từ đầu vào nhất định ảnh hưởng đến việc tạo ra một từ cụ thể trong chuỗi đầu ra. Dưới đây là một ví dụ về ma trận như vậy: -![Hình ảnh hiển thị một mẫu căn chỉnh được tìm thấy bởi RNNsearch-50, lấy từ Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.vi.png) +![Hình ảnh hiển thị một mẫu căn chỉnh được tìm thấy bởi RNNsearch-50, lấy từ Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.vi.png) > Hình từ [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Hình 3) @@ -66,7 +66,7 @@ Kết quả mà chúng ta nhận được với nhúng vị trí là nhúng cả Tiếp theo, chúng ta cần nắm bắt một số mẫu trong chuỗi của mình. Để làm điều này, transformers sử dụng cơ chế **self-attention**, về cơ bản là attention được áp dụng cho cùng một chuỗi làm đầu vào và đầu ra. Việc áp dụng self-attention cho phép chúng ta xem xét **ngữ cảnh** trong câu và xem các từ nào có liên quan đến nhau. Ví dụ, nó cho phép chúng ta thấy các từ nào được tham chiếu bởi các đại từ như *it*, và cũng xem xét ngữ cảnh: -![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.vi.png) +![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.vi.png) > Hình ảnh từ [Blog của Google](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html) @@ -91,7 +91,7 @@ Vì mỗi vị trí đầu vào được ánh xạ độc lập đến mỗi v **BERT** (Bidirectional Encoder Representations from Transformers) là một mạng transformer nhiều lớp rất lớn với 12 lớp cho *BERT-base*, và 24 lớp cho *BERT-large*. Mô hình này được huấn luyện trước trên một tập dữ liệu văn bản lớn (WikiPedia + sách) bằng cách huấn luyện không giám sát (dự đoán các từ bị che trong câu). Trong quá trình huấn luyện trước, mô hình hấp thụ mức độ hiểu biết ngôn ngữ đáng kể, sau đó có thể được tận dụng với các tập dữ liệu khác bằng cách tinh chỉnh. Quá trình này được gọi là **học chuyển giao**. -![Hình ảnh từ http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.vi.png) +![Hình ảnh từ http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.vi.png) > Hình ảnh [nguồn](http://jalammar.github.io/illustrated-bert/) diff --git a/translations/vi/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb b/translations/vi/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb index 78dec4cd..367f27a1 100644 --- a/translations/vi/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb +++ b/translations/vi/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb @@ -12,12 +12,12 @@ "\n", "**Cơ chế Attention** cung cấp một cách để cân nhắc mức độ ảnh hưởng ngữ cảnh của từng vector đầu vào lên từng dự đoán đầu ra của RNN. Cách triển khai là tạo các đường tắt giữa các trạng thái trung gian của RNN đầu vào và RNN đầu ra. Theo cách này, khi tạo ra ký hiệu đầu ra $y_t$, chúng ta sẽ xem xét tất cả các trạng thái ẩn đầu vào $h_i$, với các hệ số trọng số khác nhau $\\alpha_{t,i}$.\n", "\n", - "![Hình ảnh mô hình encoder/decoder với lớp attention cộng tính](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.vi.png)\n", + "![Hình ảnh mô hình encoder/decoder với lớp attention cộng tính](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.vi.png)\n", "*Mô hình encoder-decoder với cơ chế attention cộng tính trong [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), được trích dẫn từ [bài viết blog này](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n", "\n", "Ma trận Attention $\\{\\alpha_{i,j}\\}$ sẽ đại diện cho mức độ mà các từ đầu vào cụ thể ảnh hưởng đến việc tạo ra một từ nhất định trong chuỗi đầu ra. Dưới đây là ví dụ về một ma trận như vậy:\n", "\n", - "![Hình ảnh minh họa sự liên kết mẫu được tìm thấy bởi RNNsearch-50, lấy từ Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.vi.png)\n", + "![Hình ảnh minh họa sự liên kết mẫu được tìm thấy bởi RNNsearch-50, lấy từ Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.vi.png)\n", "\n", "*Hình ảnh được lấy từ [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Hình 3)*\n", "\n", @@ -35,7 +35,7 @@ "\n", "**BERT** (Bidirectional Encoder Representations from Transformers) là một mạng Transformer đa lớp rất lớn với 12 lớp cho *BERT-base*, và 24 lớp cho *BERT-large*. Mô hình này được huấn luyện trước trên một tập dữ liệu văn bản lớn (WikiPedia + sách) bằng cách huấn luyện không giám sát (dự đoán các từ bị che trong một câu). Trong quá trình huấn luyện trước, mô hình hấp thụ một mức độ hiểu biết ngôn ngữ đáng kể, sau đó có thể được tận dụng với các tập dữ liệu khác thông qua việc tinh chỉnh. Quá trình này được gọi là **học chuyển giao** (transfer learning).\n", "\n", - "![Hình ảnh từ http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.vi.png)\n", + "![Hình ảnh từ http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.vi.png)\n", "\n", "Có nhiều biến thể của kiến trúc Transformer bao gồm BERT, DistilBERT, BigBird, OpenGPT3 và nhiều hơn nữa có thể được tinh chỉnh. Gói [HuggingFace](https://github.com/huggingface/) cung cấp kho lưu trữ để huấn luyện nhiều kiến trúc này với PyTorch.\n", "\n", diff --git a/translations/vi/lessons/5-NLP/18-Transformers/TransformersTF.ipynb b/translations/vi/lessons/5-NLP/18-Transformers/TransformersTF.ipynb index 0238ba88..0c579554 100644 --- a/translations/vi/lessons/5-NLP/18-Transformers/TransformersTF.ipynb +++ b/translations/vi/lessons/5-NLP/18-Transformers/TransformersTF.ipynb @@ -12,12 +12,12 @@ "\n", "**Cơ chế Attention** cung cấp một phương pháp để gán trọng số cho tác động ngữ cảnh của từng vector đầu vào lên từng dự đoán đầu ra của RNN. Cách triển khai là tạo các đường tắt giữa các trạng thái trung gian của RNN đầu vào và RNN đầu ra. Theo cách này, khi tạo ra ký hiệu đầu ra $y_t$, chúng ta sẽ xem xét tất cả các trạng thái ẩn đầu vào $h_i$, với các hệ số trọng số khác nhau $\\alpha_{t,i}$.\n", "\n", - "![Hình ảnh mô tả mô hình encoder/decoder với lớp attention cộng tính](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.vi.png)\n", + "![Hình ảnh mô tả mô hình encoder/decoder với lớp attention cộng tính](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.vi.png)\n", "*Mô hình encoder-decoder với cơ chế attention cộng tính trong [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf), được trích dẫn từ [bài viết blog này](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html)*\n", "\n", "Ma trận Attention $\\{\\alpha_{i,j}\\}$ sẽ biểu thị mức độ mà các từ đầu vào cụ thể ảnh hưởng đến việc tạo ra một từ nhất định trong chuỗi đầu ra. Dưới đây là ví dụ về một ma trận như vậy:\n", "\n", - "![Hình ảnh minh họa một mẫu căn chỉnh được tìm thấy bởi RNNsearch-50, lấy từ Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.vi.png)\n", + "![Hình ảnh minh họa một mẫu căn chỉnh được tìm thấy bởi RNNsearch-50, lấy từ Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.vi.png)\n", "\n", "*Hình ảnh được lấy từ [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (Hình 3)*\n", "\n", @@ -231,7 +231,7 @@ "\n", "**BERT** (Bidirectional Encoder Representations from Transformers) là một mạng transformer nhiều lớp rất lớn với 12 lớp cho *BERT-base*, và 24 lớp cho *BERT-large*. Mô hình này được huấn luyện trước trên một tập dữ liệu văn bản lớn (WikiPedia + sách) bằng cách sử dụng phương pháp huấn luyện không giám sát (dự đoán các từ bị che trong câu). Trong quá trình huấn luyện trước, mô hình hấp thụ một mức độ hiểu biết ngôn ngữ đáng kể, sau đó có thể được tận dụng với các tập dữ liệu khác thông qua việc tinh chỉnh. Quá trình này được gọi là **học chuyển giao**.\n", "\n", - "![hình ảnh từ http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.vi.png)\n", + "![hình ảnh từ http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.vi.png)\n", "\n", "Có nhiều biến thể của kiến trúc Transformer bao gồm BERT, DistilBERT, BigBird, OpenGPT3 và nhiều hơn nữa có thể được tinh chỉnh.\n", "\n", diff --git a/translations/vi/lessons/5-NLP/19-NER/README.md b/translations/vi/lessons/5-NLP/19-NER/README.md index 8a7086de..8fb0f69a 100644 --- a/translations/vi/lessons/5-NLP/19-NER/README.md +++ b/translations/vi/lessons/5-NLP/19-NER/README.md @@ -58,7 +58,7 @@ infant | O Vì chúng ta cần xây dựng một sự tương ứng một-một giữa các token và các lớp, chúng ta có thể huấn luyện một mô hình mạng nơ-ron **nhiều-đến-nhiều** từ hình ảnh này: -![Hình ảnh hiển thị các mẫu mạng nơ-ron hồi quy phổ biến.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.vi.jpg) +![Hình ảnh hiển thị các mẫu mạng nơ-ron hồi quy phổ biến.](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.vi.jpg) > *Hình ảnh từ [bài viết blog này](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) của [Andrej Karpathy](http://karpathy.github.io/). Các mô hình phân loại token NER tương ứng với kiến trúc mạng ở phía bên phải của hình ảnh này.* diff --git a/translations/vi/lessons/5-NLP/README.md b/translations/vi/lessons/5-NLP/README.md index d3d71757..01fe3222 100644 --- a/translations/vi/lessons/5-NLP/README.md +++ b/translations/vi/lessons/5-NLP/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Xử lý Ngôn ngữ Tự nhiên -![Tóm tắt các nhiệm vụ NLP trong một hình vẽ](../../../../translated_images/ai-nlp.b22dcb8ca4707ceaee8576db1c5f4089c8cac2f454e9e03ea554f07fda4556b8.vi.png) +![Tóm tắt các nhiệm vụ NLP trong một hình vẽ](../../../../translated_images/ai-nlp.b22dcb8ca4707cea.vi.png) Trong phần này, chúng ta sẽ tập trung vào việc sử dụng Mạng Nơ-ron để xử lý các nhiệm vụ liên quan đến **Xử lý Ngôn ngữ Tự nhiên (NLP)**. Có rất nhiều vấn đề NLP mà chúng ta muốn máy tính có thể giải quyết: diff --git a/translations/vi/lessons/6-Other/23-MultiagentSystems/README.md b/translations/vi/lessons/6-Other/23-MultiagentSystems/README.md index 773947fd..898b0f9e 100644 --- a/translations/vi/lessons/6-Other/23-MultiagentSystems/README.md +++ b/translations/vi/lessons/6-Other/23-MultiagentSystems/README.md @@ -70,7 +70,7 @@ Bạn có thể mở một trong các mô hình, ví dụ **Biology → Sau khi mở mô hình, bạn sẽ được đưa đến màn hình chính của NetLogo. Đây là một mô hình mẫu mô tả dân số của sói và cừu, với các tài nguyên hữu hạn (cỏ). -![Màn hình chính NetLogo](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3cab22ec0b148e64193d0b979b055285bef329d5e3d6958c5.vi.png) +![Màn hình chính NetLogo](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3.vi.png) > Ảnh chụp màn hình của Dmitry Soshnikov diff --git a/translations/vi/lessons/README.md b/translations/vi/lessons/README.md index 807f83b3..f3c828b4 100644 --- a/translations/vi/lessons/README.md +++ b/translations/vi/lessons/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # Tổng quan -![Tổng quan trong một hình vẽ minh họa](../../../translated_images/ai-overview.0857791951d19500d0ef8b803d77110c738dcafc52306e6d68724742cd4af167.vi.png) +![Tổng quan trong một hình vẽ minh họa](../../../translated_images/ai-overview.0857791951d19500.vi.png) > Hình minh họa bởi [Tomomi Imura](https://twitter.com/girlie_mac) diff --git a/translations/vi/lessons/X-Extras/X1-MultiModal/README.md b/translations/vi/lessons/X-Extras/X1-MultiModal/README.md index 00ce7c96..bcac5096 100644 --- a/translations/vi/lessons/X-Extras/X1-MultiModal/README.md +++ b/translations/vi/lessons/X-Extras/X1-MultiModal/README.md @@ -15,7 +15,7 @@ Sau thành công của các mô hình transformer trong việc giải quyết c Ý tưởng chính của CLIP là có thể so sánh các gợi ý văn bản với một hình ảnh và xác định mức độ phù hợp của hình ảnh với gợi ý đó. -![Kiến trúc CLIP](../../../../../translated_images/clip-arch.b3dbf20b4e8ed8be1c38e2bc6100fd3cc257c33cda4692b301be91f791b13ea7.vi.png) +![Kiến trúc CLIP](../../../../../translated_images/clip-arch.b3dbf20b4e8ed8be.vi.png) > *Hình ảnh từ [bài viết blog này](https://openai.com/blog/clip/)* @@ -29,7 +29,7 @@ Khi mô hình này đã được huấn luyện trước, chúng ta có thể cu Giả sử chúng ta cần phân loại hình ảnh giữa, ví dụ, mèo, chó và con người. Trong trường hợp này, chúng ta có thể cung cấp cho mô hình một hình ảnh và một loạt các gợi ý văn bản: "*một bức ảnh của một con mèo*", "*một bức ảnh của một con chó*", "*một bức ảnh của một con người*". Trong vector kết quả gồm 3 xác suất, chúng ta chỉ cần chọn chỉ số có giá trị cao nhất. -![CLIP cho Phân loại Hình ảnh](../../../../../translated_images/clip-class.3af42ef0b2b19369a633df5f20ddf4f5a01d6c8ffa181e9d3a0572c19f919f72.vi.png) +![CLIP cho Phân loại Hình ảnh](../../../../../translated_images/clip-class.3af42ef0b2b19369.vi.png) > *Hình ảnh từ [bài viết blog này](https://openai.com/blog/clip/)* @@ -53,13 +53,13 @@ Tìm hiểu thêm về VQGAN tại trang web [Taming Transformers](https://compv Một trong những khác biệt quan trọng giữa VQGAN và GAN truyền thống là GAN truyền thống có thể tạo ra một hình ảnh khá tốt từ bất kỳ vector đầu vào nào, trong khi VQGAN có thể tạo ra một hình ảnh không nhất quán. Do đó, chúng ta cần hướng dẫn thêm quá trình tạo hình ảnh, và điều này có thể được thực hiện bằng cách sử dụng CLIP. -![Kiến trúc VQGAN+CLIP](../../../../../translated_images/vqgan.5027fe05051dfa3101950cfa930303f66e6478b9bd273e83766731796e462d9b.vi.png) +![Kiến trúc VQGAN+CLIP](../../../../../translated_images/vqgan.5027fe05051dfa31.vi.png) Để tạo ra một hình ảnh tương ứng với một gợi ý văn bản, chúng ta bắt đầu với một vector mã hóa ngẫu nhiên được đưa qua VQGAN để tạo ra một hình ảnh. Sau đó, CLIP được sử dụng để tạo ra một hàm mất mát cho biết mức độ phù hợp của hình ảnh với gợi ý văn bản. Mục tiêu sau đó là giảm thiểu hàm mất mát này, sử dụng lan truyền ngược để điều chỉnh các tham số vector đầu vào. Một thư viện tuyệt vời triển khai VQGAN+CLIP là [Pixray](http://github.com/pixray/pixray) -![Hình ảnh được tạo bởi Pixray](../../../../../translated_images/a_closeup_watercolor_portrait_of_young_male_teacher_of_literature_with_a_book.2384968e9db8a0d09dc96de938b9f95bde8a7e1c721f48f286a7795bf16d56c7.vi.png) | ![Hình ảnh được tạo bởi Pixray](../../../../../translated_images/a_closeup_oil_portrait_of_young_female_teacher_of_computer_science_with_a_computer.e0b6495f210a439077e1c32cc8afdf714e634fe24dc78dc5aa45fd2f560b0ed5.vi.png) | ![Hình ảnh được tạo bởi Pixray](../../../../../translated_images/a_closeup_oil_portrait_of_old_male_teacher_of_math.5362e67aa7fc2683b9d36a613b364deb7454760cd39205623fc1e3938fa133c0.vi.png) +![Hình ảnh được tạo bởi Pixray](../../../../../translated_images/a_closeup_watercolor_portrait_of_young_male_teacher_of_literature_with_a_book.2384968e9db8a0d0.vi.png) | ![Hình ảnh được tạo bởi Pixray](../../../../../translated_images/a_closeup_oil_portrait_of_young_female_teacher_of_computer_science_with_a_computer.e0b6495f210a4390.vi.png) | ![Hình ảnh được tạo bởi Pixray](../../../../../translated_images/a_closeup_oil_portrait_of_old_male_teacher_of_math.5362e67aa7fc2683.vi.png) ----|----|---- Hình ảnh được tạo từ gợi ý *một bức chân dung cận cảnh bằng màu nước của một giáo viên văn học trẻ tuổi với một cuốn sách* | Hình ảnh được tạo từ gợi ý *một bức chân dung cận cảnh bằng sơn dầu của một giáo viên khoa học máy tính trẻ tuổi với một chiếc máy tính* | Hình ảnh được tạo từ gợi ý *một bức chân dung cận cảnh bằng sơn dầu của một giáo viên toán học lớn tuổi trước bảng đen* diff --git a/translations/zh/README.md b/translations/zh/README.md index 20d54a96..de1ca7ac 100644 --- a/translations/zh/README.md +++ b/translations/zh/README.md @@ -1,8 +1,8 @@ -[阿拉伯语](../ar/README.md) | [孟加拉语](../bn/README.md) | [保加利亚语](../bg/README.md) | [缅甸语(缅甸)](../my/README.md) | [中文(简体)](./README.md) | [中文(繁体,香港)](../hk/README.md) | [中文(繁体,澳门)](../mo/README.md) | [中文(繁体,台湾)](../tw/README.md) | [克罗地亚语](../hr/README.md) | [捷克语](../cs/README.md) | [丹麦语](../da/README.md) | [荷兰语](../nl/README.md) | [爱沙尼亚语](../et/README.md) | [芬兰语](../fi/README.md) | [法语](../fr/README.md) | [德语](../de/README.md) | [希腊语](../el/README.md) | [希伯来语](../he/README.md) | [印地语](../hi/README.md) | [匈牙利语](../hu/README.md) | [印度尼西亚语](../id/README.md) | [意大利语](../it/README.md) | [日语](../ja/README.md) | [坎纳达语](../kn/README.md) | [韩语](../ko/README.md) | [立陶宛语](../lt/README.md) | [马来语](../ms/README.md) | [马拉雅拉姆语](../ml/README.md) | [马拉地语](../mr/README.md) | [尼泊尔语](../ne/README.md) | [尼日利亚皮钦语](../pcm/README.md) | [挪威语](../no/README.md) | [波斯语(法尔西语)](../fa/README.md) | [波兰语](../pl/README.md) | [葡萄牙语(巴西)](../br/README.md) | [葡萄牙语(葡萄牙)](../pt/README.md) | [旁遮普语(古鲁姆基)](../pa/README.md) | [罗马尼亚语](../ro/README.md) | [俄语](../ru/README.md) | [塞尔维亚语(西里尔字母)](../sr/README.md) | [斯洛伐克语](../sk/README.md) | [斯洛文尼亚语](../sl/README.md) | [西班牙语](../es/README.md) | [斯瓦希里语](../sw/README.md) | [瑞典语](../sv/README.md) | [塔加洛语(菲律宾语)](../tl/README.md) | [泰米尔语](../ta/README.md) | [泰卢固语](../te/README.md) | [泰语](../th/README.md) | [土耳其语](../tr/README.md) | [乌克兰语](../uk/README.md) | [乌尔都语](../ur/README.md) | [越南语](../vi/README.md) +[阿拉伯语](../ar/README.md) | [孟加拉语](../bn/README.md) | [保加利亚语](../bg/README.md) | [缅甸语(缅甸)](../my/README.md) | [中文(简体)](./README.md) | [中文(繁体,香港)](../hk/README.md) | [中文(繁体,澳门)](../mo/README.md) | [中文(繁体,台湾)](../tw/README.md) | [克罗地亚语](../hr/README.md) | [捷克语](../cs/README.md) | [丹麦语](../da/README.md) | [荷兰语](../nl/README.md) | [爱沙尼亚语](../et/README.md) | [芬兰语](../fi/README.md) | [法语](../fr/README.md) | [德语](../de/README.md) | [希腊语](../el/README.md) | [希伯来语](../he/README.md) | [印地语](../hi/README.md) | [匈牙利语](../hu/README.md) | [印度尼西亚语](../id/README.md) | [意大利语](../it/README.md) | [日语](../ja/README.md) | [卡纳达语](../kn/README.md) | [韩语](../ko/README.md) | [立陶宛语](../lt/README.md) | [马来语](../ms/README.md) | [马拉雅拉姆语](../ml/README.md) | [马拉地语](../mr/README.md) | [尼泊尔语](../ne/README.md) | [尼日利亚皮钦语](../pcm/README.md) | [挪威语](../no/README.md) | [波斯语(法尔西)](../fa/README.md) | [波兰语](../pl/README.md) | [葡萄牙语(巴西)](../br/README.md) | [葡萄牙语(葡萄牙)](../pt/README.md) | [旁遮普语(古鲁姆基)](../pa/README.md) | [罗马尼亚语](../ro/README.md) | [俄语](../ru/README.md) | [塞尔维亚语(西里尔文)](../sr/README.md) | [斯洛伐克语](../sk/README.md) | [斯洛文尼亚语](../sl/README.md) | [西班牙语](../es/README.md) | [斯瓦西里语](../sw/README.md) | [瑞典语](../sv/README.md) | [塔加洛语(菲律宾语)](../tl/README.md) | [泰米尔语](../ta/README.md) | [泰卢固语](../te/README.md) | [泰语](../th/README.md) | [土耳其语](../tr/README.md) | [乌克兰语](../uk/README.md) | [乌尔都语](../ur/README.md) | [越南语](../vi/README.md) -**如果您希望添加其他翻译,支持的语言列在[这里](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** +**如果您希望添加更多翻译,支持的语言列在 [这里](https://github.com/Azure/co-op-translator/blob/main/getting_started/supported-languages.md)** ## 加入社区 [![Microsoft Foundry Discord](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -## 您将学到的内容 +## 你将学到什么 **[课程思维导图](http://soshnikov.com/courses/ai-for-beginners/mindmap.html)** -在本课程中,您将学习: +在本课程中,您将学到: -* 不同的人工智能方法,包括使用**知识表示**和推理的“传统”符号方法([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence))。 -* 现代人工智能核心的**神经网络**和**深度学习**。我们将使用两个最流行的框架 —— [TensorFlow](http://Tensorflow.org) 和 [PyTorch](http://pytorch.org) 的代码来说明这些重要主题背后的概念。 -* 用于处理图像和文本的**神经架构**。我们将涵盖近期的模型,但可能在最新最前沿方面有所欠缺。 -* 较少流行的 AI 方法,例如**遗传算法**和**多智能体系统**。 +* 不同的人工智能方法,包括带有 **知识表示** 和推理的“老派”符号方法([GOFAI](https://en.wikipedia.org/wiki/Symbolic_artificial_intelligence))。 +* **神经网络** 和 **深度学习**,是现代人工智能的核心。我们将通过两个最流行的框架 —— [TensorFlow](http://Tensorflow.org) 和 [PyTorch](http://pytorch.org) 的代码来说明这些重要主题背后的概念。 +* 用于处理图像和文本的 **神经网络架构**。我们将涵盖近期的模型,但在最前沿方面可能有所不足。 +* 不太流行的 AI 方法,例如 **遗传算法** 和 **多智能体系统**。 -本课程不会涵盖的内容: +本课程不会涵盖: -> [在我们的 Microsoft Learn 收藏中查找本课程的所有附加资源](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) +> [在我们的 Microsoft Learn 集合中查找本课程的所有其他资源](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) -* 使用 **AI 在商业中** 的商业案例。可以考虑参加 Microsoft Learn 上的 [面向业务用户的 AI 入门](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) 学习路径,或与 [INSEAD](https://www.insead.edu/) 合作开发的 [AI 商业学院](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum)。 -* **经典机器学习**,我们在 [机器学习入门课程](http://github.com/Microsoft/ML-for-Beginners) 中有很好的描述。 -* 使用 **[认知服务](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)** 构建的实际 AI 应用。为此,我们建议您先从 Microsoft Learn 的视觉([vision](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum))、[自然语言处理](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum)、**[使用 Azure OpenAI Service 的生成式 AI](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** 等模块开始学习。 -* 特定的机器学习 **云框架**,例如 [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum)、[Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum) 或 [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum)。可以考虑使用 [使用 Azure Machine Learning 构建和运行机器学习解决方案](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) 和 [使用 Azure Databricks 构建和运行机器学习解决方案](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) 学习路径。 -* **对话式 AI** 和 **聊天机器人**。有单独的 [创建对话式 AI 解决方案](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) 学习路径,您也可以参考[这篇博客文章](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) 获取更多细节。 -* 深度学习背后的**高深数学**。为此,我们推荐 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 的《Deep Learning》(《深度学习》),该书也可在线阅读 [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/)。 +* 在商业中使用 **商业中的人工智能** 的案例。建议参加 Microsoft Learn 上的 [Introduction to AI for business users](https://docs.microsoft.com/learn/paths/introduction-ai-for-business-users/?WT.mc_id=academic-77998-bethanycheum) 学习路径,或参加与 [INSEAD](https://www.insead.edu/) 合作开发的 [AI Business School](https://www.microsoft.com/ai/ai-business-school/?WT.mc_id=academic-77998-bethanycheum)。 +* **经典机器学习**,在我们的 [Machine Learning for Beginners Curriculum](http://github.com/Microsoft/ML-for-Beginners) 中有很好的描述。 +* 使用 **[Cognitive Services](https://azure.microsoft.com/services/cognitive-services/?WT.mc_id=academic-77998-bethanycheum)** 构建的实际 AI 应用。为此,我们建议您先从 Microsoft Learn 上的视觉([视觉](https://docs.microsoft.com/learn/paths/create-computer-vision-solutions-azure-cognitive-services/?WT.mc_id=academic-77998-bethanycheum))、自然语言处理([自然语言处理](https://docs.microsoft.com/learn/paths/explore-natural-language-processing/?WT.mc_id=academic-77998-bethanycheum))、**[使用 Azure OpenAI 服务的生成式 AI](https://learn.microsoft.com/en-us/training/paths/develop-ai-solutions-azure-openai/?WT.mc_id=academic-77998-bethanycheum)** 等模块开始。 +* 特定的 ML **云框架**,例如 [Azure Machine Learning](https://azure.microsoft.com/services/machine-learning/?WT.mc_id=academic-77998-bethanycheum)、[Microsoft Fabric](https://learn.microsoft.com/en-us/training/paths/get-started-fabric/?WT.mc_id=academic-77998-bethanycheum) 或 [Azure Databricks](https://docs.microsoft.com/learn/paths/data-engineer-azure-databricks?WT.mc_id=academic-77998-bethanycheum)。建议使用 [Build and operate machine learning solutions with Azure Machine Learning](https://docs.microsoft.com/learn/paths/build-ai-solutions-with-azure-ml-service/?WT.mc_id=academic-77998-bethanycheum) 和 [Build and Operate Machine Learning Solutions with Azure Databricks](https://docs.microsoft.com/learn/paths/build-operate-machine-learning-solutions-azure-databricks/?WT.mc_id=academic-77998-bethanycheum) 学习路径。 +* **对话式 AI** 和 **聊天机器人**。有单独的 [Create conversational AI solutions](https://docs.microsoft.com/learn/paths/create-conversational-ai-solutions/?WT.mc_id=academic-77998-bethanycheum) 学习路径,您也可以参考 [这篇博文](https://soshnikov.com/azure/hello-bot-conversational-ai-on-microsoft-platform/) 获取更多详细信息。 +* 深度学习背后的 **深层数学**。为此,我们推荐 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 的《Deep Learning》,该书也可在线阅读 [https://www.deeplearningbook.org/](https://www.deeplearningbook.org/)。 -如果您想对“云上的 AI”主题有个温和的入门,可以考虑参加 [在 Azure 上开始使用人工智能](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) 学习路径。 +如果您想温和入门云端的 _AI_ 主题,您可以考虑参加 [Get started with artificial intelligence on Azure](https://docs.microsoft.com/learn/paths/get-started-with-artificial-intelligence-on-azure/?WT.mc_id=academic-77998-bethanycheum) 学习路径。 # 内容 | | 课程链接 | PyTorch/Keras/TensorFlow | 实验 | | :-: | :------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------: | ------------------------------------------------------------------------------ | -| 0 | [Course Setup](./lessons/0-course-setup/setup.md) | [Setup Your Development Environment](./lessons/0-course-setup/how-to-run.md) | | -| I | [**Introduction to AI**](./lessons/1-Intro/README.md) | | | -| 01 | [Introduction and History of AI](./lessons/1-Intro/README.md) | - | - | -| II | **Symbolic AI** | -| 02 | [Knowledge Representation and Expert Systems](./lessons/2-Symbolic/README.md) | [专家系统](./lessons/2-Symbolic/Animals.ipynb) / [本体](./lessons/2-Symbolic/FamilyOntology.ipynb) /[概念图](./lessons/2-Symbolic/MSConceptGraph.ipynb) | | -| III | [**Introduction to Neural Networks**](./lessons/3-NeuralNetworks/README.md) ||| +| 0 | [课程设置](./lessons/0-course-setup/setup.md) | [设置开发环境](./lessons/0-course-setup/how-to-run.md) | | +| I | [**人工智能简介**](./lessons/1-Intro/README.md) | | | +| 01 | [人工智能的介绍与历史](./lessons/1-Intro/README.md) | - | - | +| II | **符号人工智能** | +| 02 | [知识表示与专家系统](./lessons/2-Symbolic/README.md) | [专家系统](./lessons/2-Symbolic/Animals.ipynb) / [本体](./lessons/2-Symbolic/FamilyOntology.ipynb) /[概念图](./lessons/2-Symbolic/MSConceptGraph.ipynb) | | +| III | [**神经网络简介**](./lessons/3-NeuralNetworks/README.md) ||| | 03 | [感知器](./lessons/3-NeuralNetworks/03-Perceptron/README.md) | [笔记本](./lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb) | [实验](./lessons/3-NeuralNetworks/03-Perceptron/lab/README.md) | | 04 | [多层感知器与创建我们自己的框架](./lessons/3-NeuralNetworks/04-OwnFramework/README.md) | [笔记本](./lessons/3-NeuralNetworks/04-OwnFramework/OwnFramework.ipynb) | [实验](./lessons/3-NeuralNetworks/04-OwnFramework/lab/README.md) | -| 05 | [框架简介(PyTorch/TensorFlow)与过拟合](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [实验](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) | +| 05 | [入门框架(**PyTorch**/**TensorFlow**)与过拟合](./lessons/3-NeuralNetworks/05-Frameworks/README.md) | [PyTorch](./lessons/3-NeuralNetworks/05-Frameworks/IntroPyTorch.ipynb) / [Keras](./lessons/3-NeuralNetworks/05-Frameworks/IntroKeras.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [实验](./lessons/3-NeuralNetworks/05-Frameworks/lab/README.md) | | IV | [**计算机视觉**](./lessons/4-ComputerVision/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-computer-vision-pytorch/?WT.mc_id=academic-77998-cacaste) / [TensorFlow](https://docs.microsoft.com/learn/modules/intro-computer-vision-TensorFlow/?WT.mc_id=academic-77998-cacaste)| [在 Microsoft Azure 上探索计算机视觉](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) | -| 06 | [计算机视觉简介。OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [笔记本](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [实验](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) | +| 06 | [计算机视觉入门。OpenCV](./lessons/4-ComputerVision/06-IntroCV/README.md) | [笔记本](./lessons/4-ComputerVision/06-IntroCV/OpenCV.ipynb) | [实验](./lessons/4-ComputerVision/06-IntroCV/lab/README.md) | | 07 | [卷积神经网络](./lessons/4-ComputerVision/07-ConvNets/README.md) & [CNN 架构](./lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md) | [PyTorch](./lessons/4-ComputerVision/07-ConvNets/ConvNetsPyTorch.ipynb) /[TensorFlow](./lessons/4-ComputerVision/07-ConvNets/ConvNetsTF.ipynb) | [实验](./lessons/4-ComputerVision/07-ConvNets/lab/README.md) | | 08 | [预训练网络与迁移学习](./lessons/4-ComputerVision/08-TransferLearning/README.md) and [训练技巧](./lessons/4-ComputerVision/08-TransferLearning/TrainingTricks.md) | [PyTorch](./lessons/4-ComputerVision/08-TransferLearning/TransferLearningPyTorch.ipynb) / [TensorFlow](./lessons/3-NeuralNetworks/05-Frameworks/IntroKerasTF.ipynb) | [实验](./lessons/4-ComputerVision/08-TransferLearning/lab/README.md) | | 09 | [自编码器与变分自编码器(VAE)](./lessons/4-ComputerVision/09-Autoencoders/README.md) | [PyTorch](./lessons/4-ComputerVision/09-Autoencoders/AutoEncodersPyTorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/09-Autoencoders/AutoencodersTF.ipynb) | | @@ -88,81 +88,81 @@ CO_OP_TRANSLATOR_METADATA: | 11 | [目标检测](./lessons/4-ComputerVision/11-ObjectDetection/README.md) | [TensorFlow](./lessons/4-ComputerVision/11-ObjectDetection/ObjectDetection.ipynb) | [实验](./lessons/4-ComputerVision/11-ObjectDetection/lab/README.md) | | 12 | [语义分割。U-Net](./lessons/4-ComputerVision/12-Segmentation/README.md) | [PyTorch](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationPytorch.ipynb) / [TensorFlow](./lessons/4-ComputerVision/12-Segmentation/SemanticSegmentationTF.ipynb) | | | V | [**自然语言处理**](./lessons/5-NLP/README.md) | [PyTorch](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-pytorch/?WT.mc_id=academic-77998-cacaste) /[TensorFlow](https://docs.microsoft.com/learn/modules/intro-natural-language-processing-TensorFlow/?WT.mc_id=academic-77998-cacaste) | [在 Microsoft Azure 上探索自然语言处理](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum)| -| 13 | [文本表示。Bow/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | | +| 13 | [文本表示。词袋/TF-IDF](./lessons/5-NLP/13-TextRep/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/13-TextRep/TextRepresentationTF.ipynb) | | | 14 | [语义词嵌入。Word2Vec 和 GloVe](./lessons/5-NLP/14-Embeddings/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/14-Embeddings/EmbeddingsTF.ipynb) | | -| 15 | [语言建模。训练你自己的词嵌入](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [实验](./lessons/5-NLP/15-LanguageModeling/lab/README.md) | +| 15 | [语言建模。训练你自己的嵌入](./lessons/5-NLP/15-LanguageModeling/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-PyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/15-LanguageModeling/CBoW-TF.ipynb) | [实验](./lessons/5-NLP/15-LanguageModeling/lab/README.md) | | 16 | [循环神经网络](./lessons/5-NLP/16-RNN/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNPyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/16-RNN/RNNTF.ipynb) | | | 17 | [生成式循环网络](./lessons/5-NLP/17-GenerativeNetworks/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativePyTorch.ipynb) / [TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/17-GenerativeNetworks/GenerativeTF.ipynb) | [实验](./lessons/5-NLP/17-GenerativeNetworks/lab/README.md) | | 18 | [Transformer。BERT。](./lessons/5-NLP/18-Transformers/README.md) | [PyTorch](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersPyTorch.ipynb) /[TensorFlow](https://github.com/microsoft/AI-For-Beginners/blob/main/lessons/5-NLP/18-Transformers/TransformersTF.ipynb) | | | 19 | [命名实体识别](./lessons/5-NLP/19-NER/README.md) | [TensorFlow](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/19-NER/NER-TF.ipynb) | [实验](./lessons/5-NLP/19-NER/lab/README.md) | | 20 | [大型语言模型、提示工程与少样本任务](./lessons/5-NLP/20-LangModels/README.md) | [PyTorch](https://microsoft.github.io/AI-For-Beginners/lessons/5-NLP/20-LangModels/GPT-PyTorch.ipynb) | | -| VI | **其他 AI 技术** || | +| VI | **其他人工智能技术** || | | 21 | [遗传算法](./lessons/6-Other/21-GeneticAlgorithms/README.md) | [笔记本](./lessons/6-Other/21-GeneticAlgorithms/Genetic.ipynb) | | | 22 | [深度强化学习](./lessons/6-Other/22-DeepRL/README.md) | [PyTorch](./lessons/6-Other/22-DeepRL/CartPole-RL-PyTorch.ipynb) /[TensorFlow](./lessons/6-Other/22-DeepRL/CartPole-RL-TF.ipynb) | [实验](./lessons/6-Other/22-DeepRL/lab/README.md) | | 23 | [多智能体系统](./lessons/6-Other/23-MultiagentSystems/README.md) | | | | VII | **人工智能伦理** | | | | 24 | [人工智能伦理与负责任的 AI](./lessons/7-Ethics/README.md) | [Microsoft Learn: 负责任的 AI 原则](https://docs.microsoft.com/learn/paths/responsible-ai-business-principles/?WT.mc_id=academic-77998-cacaste) | | -| IX | **扩展** | | | +| IX | **附加内容** | | | | 25 | [多模态网络、CLIP 与 VQGAN](./lessons/X-Extras/X1-MultiModal/README.md) | [笔记本](./lessons/X-Extras/X1-MultiModal/Clip.ipynb) | | -## 每节课包含 +## 每节课程包含 -* 课前阅读材料 -* 可执行的 Jupyter 笔记本,通常针对特定框架(**PyTorch** 或 **TensorFlow**)。可执行的笔记本也包含大量理论内容,因此要理解该主题,您需要至少阅读一个版本的笔记本(无论是 PyTorch 还是 TensorFlow)。 -* **实验** 在某些主题可用,它们为您提供将所学内容应用到具体问题中的机会。 -* 某些部分包含指向 [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) 模块的链接,这些模块涵盖相关主题。 +* 预读材料 +* 可执行的 Jupyter 笔记本,通常针对特定框架(**PyTorch** 或 **TensorFlow**)。可执行的笔记本还包含大量理论内容,因此要理解该主题,你需要至少浏览笔记本的一个版本(PyTorch 或 TensorFlow)。 +* **实验** 在某些主题中可用,为你提供将所学应用到具体问题的机会。 +* 某些章节包含指向 [**MS Learn**](https://learn.microsoft.com/en-us/collections/7w28iy2xrqzdj0?WT.mc_id=academic-77998-bethanycheum) 模块的链接,这些模块涵盖相关主题。 -## 入门 +## 开始使用 -### 🎯 刚接触 AI?从这里开始! +### 🎯 新手入门?从这里开始! -如果您完全是 AI 新手并且想要快速的实践示例,请查看我们的 [**面向初学者的示例**](./examples/README.md)!其中包括: +如果你对人工智能完全陌生并且想要快速的动手示例,请查看我们的 [**适合初学者的示例**](./examples/README.md)!这些包括: - 🌟 **Hello AI World** - 你的第一个 AI 程序(模式识别) -- 🧠 **Simple Neural Network** - 从零构建神经网络 -- 🖼️ **Image Classifier** - 对图像进行分类并附有详细注释 -- 💬 **文本情感** - 分析文本的正面/负面情感 +- 🧠 **简单神经网络** - 从零构建神经网络 +- 🖼️ **图像分类器** - 使用详细注释对图像进行分类 +- 💬 **文本情感** - 分析正面/负面文本 这些示例旨在帮助您在深入完整课程之前理解 AI 概念。 ### 📚 完整课程设置 -- 我们已创建了一个 [设置课程](./lessons/0-course-setup/setup.md) 来帮助您设置开发环境。 - 对于教育工作者,我们也为您创建了一个 [课程设置课程](./lessons/0-course-setup/for-teachers.md)! -- 如何[在 VSCode 或 Codepace 中运行代码](./lessons/0-course-setup/how-to-run.md) +- 我们创建了一个 [设置课程](./lessons/0-course-setup/setup.md) 来帮助您设置开发环境。 - 对于教育工作者,我们也为您创建了一个 [面向教师的课程设置](./lessons/0-course-setup/for-teachers.md)! +- 如何 [在 VSCode 或 Codepace 中运行代码](./lessons/0-course-setup/how-to-run.md) -请按以下步骤操作: +请按照以下步骤: -Fork the Repository: Click on the "Fork" button at the top-right corner of this page. +Fork 仓库:点击本页面右上角的 "Fork" 按钮。 -Clone the Repository: `git clone https://github.com/microsoft/AI-For-Beginners.git` +克隆仓库: `git clone https://github.com/microsoft/AI-For-Beginners.git` -Don't forget to star (🌟) this repo to find it easier later. +别忘了为该仓库加星 (🌟),以便以后更容易找到。 ## 结识其他学习者 -加入我们的 [官方 AI Discord 服务器](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum),与参加本课程的其他学习者交流并获得支持。 +加入我们的 [官方 AI Discord 服务器](https://aka.ms/genai-discord?WT.mc_id=academic-105485-bethanycheum) 以结识并与参加本课程的其他学习者建立网络并获取支持。 -如果您在构建过程中有产品反馈或问题,请访问我们的 [Azure AI Foundry Developer Forum](https://aka.ms/foundry/forum) +如果您在构建过程中有产品反馈或问题,请访问我们的 [Azure AI Foundry 开发者论坛](https://aka.ms/foundry/forum) ## 测验 -> **关于测验的说明**:所有测验都包含在 Quiz-app 文件夹中的 etc\quiz-app,或[在线这里](https://ff-quizzes.netlify.app/) 它们在课程中被链接,测验应用可以在本地运行或部署到 Azure;请按照 `quiz-app` 文件夹中的说明。它们正在逐步本地化。 +> **关于测验的说明**:所有测验都位于 etc\quiz-app 中的 Quiz-app 文件夹,或 [在线访问](https://ff-quizzes.netlify.app/)。它们在课程中有链接;测验应用可以在本地运行或部署到 Azure;请遵循 `quiz-app` 文件夹中的说明。它们正在逐步本地化。 -## 寻求帮助 +## 需要帮助 -您有建议或发现拼写或代码错误吗?请提出 issue 或创建 pull request。 +您有建议或发现拼写或代码错误吗?请提出一个 issue 或创建一个 pull request。 ## 特别鸣谢 * **✍️ 主要作者:** [Dmitry Soshnikov](http://soshnikov.com), PhD * **🔥 编辑:** [Jen Looper](https://twitter.com/jenlooper), PhD -* **🎨 速写插图:** [Tomomi Imura](https://twitter.com/girlie_mac) +* **🎨 速记插画师:** [Tomomi Imura](https://twitter.com/girlie_mac) * **✅ 测验创建者:** [Lateefah Bello](https://github.com/CinnamonXI), [MLSA](https://studentambassadors.microsoft.com/) * **🙏 核心贡献者:** [Evgenii Pishchik](https://github.com/Pe4enIks) ## 其他课程 -我们团队还制作了其他课程!请查看: +我们的团队还制作了其他课程!查看: ### LangChain @@ -188,29 +188,29 @@ Don't forget to star (🌟) this repo to find it easier later. --- ### 核心学习 -[![机器学习 入门](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) -[![数据科学 入门](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) +[![机器学习入门](https://img.shields.io/badge/ML%20for%20Beginners-22C55E?style=for-the-badge&labelColor=E5E7EB&color=22C55E)](https://aka.ms/ml-beginners?WT.mc_id=academic-105485-koreyst) +[![数据科学入门](https://img.shields.io/badge/Data%20Science%20for%20Beginners-84CC16?style=for-the-badge&labelColor=E5E7EB&color=84CC16)](https://aka.ms/datascience-beginners?WT.mc_id=academic-105485-koreyst) [![AI 入门](https://img.shields.io/badge/AI%20for%20Beginners-A3E635?style=for-the-badge&labelColor=E5E7EB&color=A3E635)](https://aka.ms/ai-beginners?WT.mc_id=academic-105485-koreyst) -[![网络安全 入门](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) -[![Web 开发 入门](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) -[![物联网 入门](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) -[![XR 开发 入门](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) +[![网络安全入门](https://img.shields.io/badge/Cybersecurity%20for%20Beginners-F97316?style=for-the-badge&labelColor=E5E7EB&color=F97316)](https://github.com/microsoft/Security-101?WT.mc_id=academic-96948-sayoung) +[![Web 开发入门](https://img.shields.io/badge/Web%20Dev%20for%20Beginners-EC4899?style=for-the-badge&labelColor=E5E7EB&color=EC4899)](https://aka.ms/webdev-beginners?WT.mc_id=academic-105485-koreyst) +[![物联网入门](https://img.shields.io/badge/IoT%20for%20Beginners-14B8A6?style=for-the-badge&labelColor=E5E7EB&color=14B8A6)](https://aka.ms/iot-beginners?WT.mc_id=academic-105485-koreyst) +[![XR 开发入门](https://img.shields.io/badge/XR%20Development%20for%20Beginners-38BDF8?style=for-the-badge&labelColor=E5E7EB&color=38BDF8)](https://github.com/microsoft/xr-development-for-beginners?WT.mc_id=academic-105485-koreyst) --- ### Copilot 系列 -[![Copilot:AI 配对编程](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) -[![Copilot:C#/.NET](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) +[![用于 AI 配对编程的 Copilot](https://img.shields.io/badge/Copilot%20for%20AI%20Paired%20Programming-FACC15?style=for-the-badge&labelColor=E5E7EB&color=FACC15)](https://aka.ms/GitHubCopilotAI?WT.mc_id=academic-105485-koreyst) +[![Copilot(适用于 C#/.NET)](https://img.shields.io/badge/Copilot%20for%20C%23/.NET-FBBF24?style=for-the-badge&labelColor=E5E7EB&color=FBBF24)](https://github.com/microsoft/mastering-github-copilot-for-dotnet-csharp-developers?WT.mc_id=academic-105485-koreyst) [![Copilot 冒险](https://img.shields.io/badge/Copilot%20Adventure-FDE68A?style=for-the-badge&labelColor=E5E7EB&color=FDE68A)](https://github.com/microsoft/CopilotAdventures?WT.mc_id=academic-105485-koreyst) ## 获取帮助 -如果您遇到困难或对构建 AI 应用有任何疑问,加入志同道合的学习者和经验丰富的开发者,参与有关 MCP 的讨论。这里是一个支持性的社区,欢迎提出问题并自由分享知识。 +如果您在构建 AI 应用时遇到困难或有任何问题,请加入学习者和经验丰富的开发者的讨论,参与有关 MCP 的交流。这是一个支持性的社区,欢迎提出问题并自由共享知识。 [![Microsoft Foundry Discord 服务器](https://dcbadge.limes.pink/api/server/nTYy5BXMWG)](https://discord.gg/nTYy5BXMWG) -如果您在构建过程中有产品反馈或错误,请访问: +如果您在构建过程中有产品反馈或遇到错误,请访问: [![Microsoft Foundry 开发者论坛](https://img.shields.io/badge/GitHub-Microsoft_Foundry_Developer_Forum-blue?style=for-the-badge&logo=github&color=000000&logoColor=fff)](https://aka.ms/foundry/forum) @@ -218,5 +218,5 @@ Don't forget to star (🌟) this repo to find it easier later. 免责声明: -本文件已使用 AI 翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。虽然我们力求准确,但请注意自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议采用专业人工翻译。对于因使用本翻译而产生的任何误解或误释,我们不承担任何责任。 +本文件已使用 AI 翻译服务 Co-op Translator(https://github.com/Azure/co-op-translator)进行翻译。我们尽力确保准确性,但请注意自动翻译可能包含错误或不准确之处。原文(原始语言)应被视为具有权威性的版本。对于关键信息,建议使用专业人工翻译。因使用本翻译而产生的任何误解或错误解释,我们不承担任何责任。 \ No newline at end of file diff --git a/translations/zh/lessons/1-Intro/README.md b/translations/zh/lessons/1-Intro/README.md index 88505446..2f31b68a 100644 --- a/translations/zh/lessons/1-Intro/README.md +++ b/translations/zh/lessons/1-Intro/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 人工智能简介 -![人工智能内容简介的涂鸦](../../../../translated_images/ai-intro.bf28d1ac4235881c096f0ffdb320ba4102940eafcca4e9d7a55a03914361f8f3.zh.png) +![人工智能内容简介的涂鸦](../../../../translated_images/ai-intro.bf28d1ac4235881c.zh.png) > 涂鸦作者:[Tomomi Imura](https://twitter.com/girlie_mac) @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: 最初,计算机是由[查尔斯·巴贝奇](https://en.wikipedia.org/wiki/Charles_Babbage)发明的,用于按照明确的程序(算法)对数字进行操作。尽管现代计算机比19世纪提出的原始模型先进得多,但它们仍然遵循受控计算的基本理念。因此,如果我们知道实现目标所需的确切步骤序列,就可以编程让计算机完成某项任务。 -![一个人的照片](../../../../translated_images/dsh_age.d212a30d4e54fb5f68b94a624aad64bc086124bcbbec9561ae5bd5da661e22d8.zh.png) +![一个人的照片](../../../../translated_images/dsh_age.d212a30d4e54fb5f.zh.png) > 照片由 [Vickie Soshnikova](http://twitter.com/vickievalerie) 提供 @@ -46,7 +46,7 @@ CO_OP_TRANSLATOR_METADATA: 在讨论**[智能](https://en.wikipedia.org/wiki/Intelligence)**这个术语时,一个问题是我们并没有对其明确的定义。有人认为智能与**抽象思维**或**自我意识**相关,但我们无法准确定义它。 -![一只猫的照片](../../../../translated_images/photo-cat.8c8e8fb760ffe45725c5b9f6b0d954e9bf114475c01c55adf0303982851b7eae.zh.jpg) +![一只猫的照片](../../../../translated_images/photo-cat.8c8e8fb760ffe457.zh.jpg) > [照片](https://unsplash.com/photos/75715CVEJhI)由 [Amber Kipp](https://unsplash.com/@sadmax) 提供,来自Unsplash @@ -98,13 +98,13 @@ CO_OP_TRANSLATOR_METADATA: > | 那机器学习呢? | | > |--------------|-----------| -> | 人工智能的一部分是基于计算机通过一些数据学习解决问题的,这被称为**机器学习**。我们不会在本课程中讨论经典的机器学习——请参考单独的[机器学习初学者课程](http://aka.ms/ml-beginners)。 | ![机器学习初学者](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d7d1f7d358302515186579cbf09b2a6c5bd8092b345da7f22.zh.png) | +> | 人工智能的一部分是基于计算机通过一些数据学习解决问题的,这被称为**机器学习**。我们不会在本课程中讨论经典的机器学习——请参考单独的[机器学习初学者课程](http://aka.ms/ml-beginners)。 | ![机器学习初学者](../../../../translated_images/ml-for-beginners.9e4fed176fd5817d.zh.png) | ## 人工智能简史 人工智能作为一个领域始于20世纪中期。最初,符号推理是一种流行的方法,并取得了一些重要的成功,例如专家系统——能够在某些有限问题领域中充当专家的计算机程序。然而,很快就发现这种方法并不具有良好的扩展性。从专家那里提取知识、在计算机中表示这些知识并保持知识库的准确性,结果证明是一项非常复杂且在许多情况下成本过高的任务。这导致了20世纪70年代所谓的[人工智能寒冬](https://en.wikipedia.org/wiki/AI_winter)。 -人工智能简史 +人工智能简史 > 图片由 [Dmitry Soshnikov](http://soshnikov.com) 提供 @@ -124,7 +124,7 @@ CO_OP_TRANSLATOR_METADATA: * 现代助手,如Cortana、Siri或Google Assistant,都是混合系统,使用神经网络将语音转换为文本并识别我们的意图,然后采用一些推理或明确的算法来执行所需的操作。 * 未来,我们可能会期待一个完全基于神经网络的模型能够自行处理对话。最近的GPT和[Turing-NLG](https://www.microsoft.com/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft)系列神经网络在这方面表现出色。 -图灵测试的演变 +图灵测试的演变 > 图片由 Dmitry Soshnikov 提供,[照片](https://unsplash.com/photos/r8LmVbUKgns)由 [Marina Abrosimova](https://unsplash.com/@abrosimova_marina_foto) 提供,来源于 Unsplash ## 最近的人工智能研究 diff --git a/translations/zh/lessons/2-Symbolic/README.md b/translations/zh/lessons/2-Symbolic/README.md index ee1e455d..a2e96c2b 100644 --- a/translations/zh/lessons/2-Symbolic/README.md +++ b/translations/zh/lessons/2-Symbolic/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 知识表示与专家系统 -![符号 AI 内容摘要](../../../../translated_images/ai-symbolic.715a30cb610411a6964d2e2f23f24364cb338a07cb4844c1f97084d366e586c3.zh.png) +![符号 AI 内容摘要](../../../../translated_images/ai-symbolic.715a30cb610411a6.zh.png) > [Tomomi Imura](https://twitter.com/girlie_mac) 的手绘笔记 @@ -41,7 +41,7 @@ CO_OP_TRANSLATOR_METADATA: 因此,**知识表示**的问题是找到一种有效的方法,将知识以数据的形式表示在计算机中,使其能够自动使用。这可以看作是一个光谱: -![知识表示光谱](../../../../translated_images/knowledge-spectrum.b60df631852c0217e941485b79c9eee40ebd574f15f18609cec5758fcb384bf3.zh.png) +![知识表示光谱](../../../../translated_images/knowledge-spectrum.b60df631852c0217.zh.png) > 图片来源:[Dmitry Soshnikov](http://soshnikov.com) @@ -94,7 +94,7 @@ Python | 块语法 | 缩进 符号 AI 的早期成功之一是所谓的**专家系统**——设计为在某些有限问题领域中充当专家的计算机系统。它们基于从一个或多个领域专家提取的**知识库**,并包含一个在其之上执行推理的**推理引擎**。 -![人类架构](../../../../translated_images/arch-human.5d4d35f1bba3ab1cdfda96af2f10b89574eb31e9796d0e3011cd9beda1c35112.zh.png) | ![基于知识的系统架构](../../../../translated_images/arch-kbs.3ec5c150b09fa8dadc2beb0931a4983c9e2b03913a89eebcc103b5bb841b0212.zh.png) +![人类架构](../../../../translated_images/arch-human.5d4d35f1bba3ab1c.zh.png) | ![基于知识的系统架构](../../../../translated_images/arch-kbs.3ec5c150b09fa8da.zh.png) ----------------------------------|---------------------------------------- 人类神经系统的简化结构 | 基于知识的系统的架构 @@ -106,7 +106,7 @@ Python | 块语法 | 缩进 例如,让我们考虑以下基于动物物理特征的专家系统: -![AND-OR 树](../../../../translated_images/AND-OR-Tree.5592d2c70187f283703c8e9c0d69d6a786eb370f4ace67f9a7aae5ada3d260b0.zh.png) +![AND-OR 树](../../../../translated_images/AND-OR-Tree.5592d2c70187f283.zh.png) > 图片来源:[Dmitry Soshnikov](http://soshnikov.com) diff --git a/translations/zh/lessons/3-NeuralNetworks/05-Frameworks/README.md b/translations/zh/lessons/3-NeuralNetworks/05-Frameworks/README.md index c92767f7..cda9ffc1 100644 --- a/translations/zh/lessons/3-NeuralNetworks/05-Frameworks/README.md +++ b/translations/zh/lessons/3-NeuralNetworks/05-Frameworks/README.md @@ -58,7 +58,7 @@ CO_OP_TRANSLATOR_METADATA: 考虑以下拟合 5 个点的问题(图中的 `x` 表示点): -![线性模型](../../../../../translated_images/overfit1.f24b71c6f652e59e6bed7245ffbeaecc3ba320e16e2221f6832b432052c4da43.zh.jpg) | ![过拟合模型](../../../../../translated_images/overfit2.131f5800ae10ca5e41d12a411f5f705d9ee38b1b10916f284b787028dd55cc1c.zh.jpg) +![线性模型](../../../../../translated_images/overfit1.f24b71c6f652e59e.zh.jpg) | ![过拟合模型](../../../../../translated_images/overfit2.131f5800ae10ca5e.zh.jpg) -------------------------|-------------------------- **线性模型,2 个参数** | **非线性模型,7 个参数** 训练误差 = 5.3 | 训练误差 = 0 @@ -79,7 +79,7 @@ CO_OP_TRANSLATOR_METADATA: 从上图可以看出,过拟合可以通过非常低的训练误差和非常高的验证误差来检测。通常在训练过程中,我们会看到训练误差和验证误差都开始下降,但在某个点之后,验证误差可能停止下降并开始上升。这是过拟合的信号,表明我们可能应该停止训练(或者至少保存模型的快照)。 -![过拟合](../../../../../translated_images/Overfitting.408ad91cd90b4371d0a81f4287e1409c359751adeb1ae450332af50e84f08c3e.zh.png) +![过拟合](../../../../../translated_images/Overfitting.408ad91cd90b4371.zh.png) ## 如何防止过拟合 diff --git a/translations/zh/lessons/3-NeuralNetworks/README.md b/translations/zh/lessons/3-NeuralNetworks/README.md index bba0d9b0..8e9dc573 100644 --- a/translations/zh/lessons/3-NeuralNetworks/README.md +++ b/translations/zh/lessons/3-NeuralNetworks/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 神经网络简介 -![神经网络内容总结涂鸦](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e834f497844866a26d3e0886650a67a4bbe29442e2f157d3b18.zh.png) +![神经网络内容总结涂鸦](../../../../translated_images/ai-neuralnetworks.1c687ae40bc86e83.zh.png) 正如我们在介绍中讨论的那样,实现智能的一种方法是训练一个**计算机模型**或一个**人工大脑**。自20世纪中期以来,研究人员尝试了各种数学模型,直到近年来,这一方向取得了巨大的成功。这些大脑的数学模型被称为**神经网络**。 @@ -36,13 +36,13 @@ CO_OP_TRANSLATOR_METADATA: 从生物学中我们知道,大脑由神经细胞(神经元)组成,每个神经元有多个“输入”(树突)和一个“输出”(轴突)。树突和轴突都可以传导电信号,它们之间的连接——称为突触——可以表现出不同程度的导电性,这种导电性由神经递质调节。 -![神经元模型](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6a3ce8fec51c0b9bec6181946dca0fe4e829bc12fa3bacf01.zh.jpg) | ![神经元模型](../../../../translated_images/artneuron.1a5daa88d20ebe6f5824ddb89fba0bdaaf49f67e8230c1afbec42909df1fc17e.zh.png) +![神经元模型](../../../../translated_images/synapse-wikipedia.ed20a9e4726ea1c6.zh.jpg) | ![神经元模型](../../../../translated_images/artneuron.1a5daa88d20ebe6f.zh.png) ----|---- 真实神经元 *([图片](https://en.wikipedia.org/wiki/Synapse#/media/File:SynapseSchematic_lines.svg)来自维基百科)* | 人工神经元 *(作者提供图片)* 因此,神经元的最简单数学模型包含若干输入 X1, ..., XN 和一个输出 Y,以及一系列权重 W1, ..., WN。输出的计算公式为: -Y = f\left(\sum_{i=1}^N X_iW_i\right) +Y = f\left(\sum_{i=1}^N X_iW_i\right) 其中 f 是某种非线性的**激活函数**。 diff --git a/translations/zh/lessons/4-ComputerVision/06-IntroCV/README.md b/translations/zh/lessons/4-ComputerVision/06-IntroCV/README.md index b7d5459d..44f5cb57 100644 --- a/translations/zh/lessons/4-ComputerVision/06-IntroCV/README.md +++ b/translations/zh/lessons/4-ComputerVision/06-IntroCV/README.md @@ -73,14 +73,14 @@ im = cv2.cvtColor(im,cv2.COLOR_BGR2RGB) * **对盲文书籍的照片进行预处理**。我们重点介绍如何使用阈值处理、特征检测、透视变换和NumPy操作来分离单个盲文符号,以便神经网络进一步分类。 -![盲文图像](../../../../../translated_images/braille.341962ff76b1bd7044409371d3de09ced5028132aef97344ea4b7468c1208126.zh.jpeg) | ![盲文图像预处理结果](../../../../../translated_images/braille-result.46530fea020b03c76aac532d7d6eeef7f6fb35b55b1001cd21627907dabef3ed.zh.png) | ![盲文符号](../../../../../translated_images/braille-symbols.0159185ab69d533909dc4d7d26a1971b51401c6a80eb3a5584f250ea880af88b.zh.png) +![盲文图像](../../../../../translated_images/braille.341962ff76b1bd70.zh.jpeg) | ![盲文图像预处理结果](../../../../../translated_images/braille-result.46530fea020b03c7.zh.png) | ![盲文符号](../../../../../translated_images/braille-symbols.0159185ab69d5339.zh.png) ----|-----|----- > 图片来源:[OpenCV.ipynb](OpenCV.ipynb) * **使用帧差检测视频中的运动**。如果摄像机是固定的,那么摄像机画面中的帧应该彼此非常相似。由于帧被表示为数组,只需对两个连续帧的数组进行减法运算,就可以得到像素差异,对于静态帧来说差异应该很小,而当图像中有显著运动时差异会变大。 -![视频帧和帧差异图像](../../../../../translated_images/frame-difference.706f805491a0883c938e16447bf5eb2f7d69e812c7f743cbe7d7c7645168f81f.zh.png) +![视频帧和帧差异图像](../../../../../translated_images/frame-difference.706f805491a0883c.zh.png) > 图片来源:[OpenCV.ipynb](OpenCV.ipynb) @@ -89,7 +89,7 @@ im = cv2.cvtColor(im,cv2.COLOR_BGR2RGB) - **密集光流**计算每个像素的运动向量场。 - **稀疏光流**基于图像中的一些显著特征(例如边缘),并从帧到帧构建它们的轨迹。 -![光流图像](../../../../../translated_images/optical.1f4a94464579a83a10784f3c07fe7228514714b96782edf50e70ccd59d2d8c4f.zh.png) +![光流图像](../../../../../translated_images/optical.1f4a94464579a83a.zh.png) > 图片来源:[OpenCV.ipynb](OpenCV.ipynb) diff --git a/translations/zh/lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md b/translations/zh/lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md index d0f24098..8b4a029f 100644 --- a/translations/zh/lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md +++ b/translations/zh/lessons/4-ComputerVision/07-ConvNets/CNN_Architectures.md @@ -13,11 +13,11 @@ CO_OP_TRANSLATOR_METADATA: VGG-16是一种网络,在2014年的ImageNet top-5分类中达到了92.7%的准确率。它的层结构如下: -![ImageNet Layers](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.zh.jpg) +![ImageNet Layers](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.zh.jpg) 如图所示,VGG采用了传统的金字塔架构,即一系列卷积-池化层的组合。 -![ImageNet Pyramid](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.zh.jpg) +![ImageNet Pyramid](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.zh.jpg) > 图片来源:[Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493) diff --git a/translations/zh/lessons/4-ComputerVision/07-ConvNets/README.md b/translations/zh/lessons/4-ComputerVision/07-ConvNets/README.md index f9b02a3a..b87bdcd4 100644 --- a/translations/zh/lessons/4-ComputerVision/07-ConvNets/README.md +++ b/translations/zh/lessons/4-ComputerVision/07-ConvNets/README.md @@ -17,7 +17,7 @@ CO_OP_TRANSLATOR_METADATA: 为了提取模式,我们将使用**卷积滤波器**的概念。正如你所知,图像可以用二维矩阵或带有颜色深度的三维张量来表示。应用滤波器意味着我们使用一个相对较小的**滤波核**矩阵,并对原始图像中的每个像素与其邻近点进行加权平均计算。我们可以将其视为一个小窗口在整个图像上滑动,并根据滤波核矩阵中的权重对所有像素进行平均。 -![垂直边缘滤波器](../../../../../translated_images/filter-vert.b7148390ca0bc356ddc7e55555d2481819c1e86ddde9dce4db5e71a69d6f887f.zh.png) | ![水平边缘滤波器](../../../../../translated_images/filter-horiz.59b80ed4feb946efbe201a7fe3ca95abb3364e266e6fd90820cb893b4d3a6dda.zh.png) +![垂直边缘滤波器](../../../../../translated_images/filter-vert.b7148390ca0bc356.zh.png) | ![水平边缘滤波器](../../../../../translated_images/filter-horiz.59b80ed4feb946ef.zh.png) ----|---- > 图片来源:Dmitry Soshnikov @@ -38,7 +38,7 @@ CNN 的工作方式基于以下重要思想: * 我们可以设计网络,使滤波器能够自动训练 * 我们可以使用相同的方法来发现高级特征中的模式,而不仅仅是原始图像中的模式。因此,CNN 的特征提取在特征的层次结构中工作,从低级像素组合开始,到更高级的图像部分组合。 -![层次特征提取](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb643fde3032b81b2940e3cf8be842e29afac3f482725ba7f95c.zh.png) +![层次特征提取](../../../../../translated_images/FeatureExtractionCNN.d9b456cbdae7cb64.zh.png) > 图片来源:[Hislop-Lynch 的论文](https://www.semanticscholar.org/paper/Computer-vision-based-pedestrian-trajectory-Hislop-Lynch/26e6f74853fc9bbb7487b06dc2cf095d36c9021d),基于[他们的研究](https://dl.acm.org/doi/abs/10.1145/1553374.1553453) @@ -55,9 +55,9 @@ CNN 的工作方式基于以下重要思想: 例如,让我们看看 VGG-16 的架构,这是一种在 2014 年 ImageNet 的 top-5 分类中实现了 92.7% 准确率的网络: -![ImageNet 层次结构](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51baeaab3e768567d921e5d54befa46e1e642616c5458c934028.zh.jpg) +![ImageNet 层次结构](../../../../../translated_images/vgg-16-arch1.d901a5583b3a51ba.zh.jpg) -![ImageNet 金字塔](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49fdaa786e3f3a975b3f22615efd13efb19c5d22f12e01451a1.zh.jpg) +![ImageNet 金字塔](../../../../../translated_images/vgg-16-arch.64ff2137f50dd49f.zh.jpg) > 图片来源:[Researchgate](https://www.researchgate.net/figure/Vgg16-model-structure-To-get-the-VGG-NIN-model-we-replace-the-2-nd-4-th-6-th-7-th_fig2_335194493) diff --git a/translations/zh/lessons/4-ComputerVision/07-ConvNets/lab/README.md b/translations/zh/lessons/4-ComputerVision/07-ConvNets/lab/README.md index a66b98c8..f0c696b2 100644 --- a/translations/zh/lessons/4-ComputerVision/07-ConvNets/lab/README.md +++ b/translations/zh/lessons/4-ComputerVision/07-ConvNets/lab/README.md @@ -21,7 +21,7 @@ CO_OP_TRANSLATOR_METADATA: 我们将使用 [Oxford-IIIT Pet Dataset](https://www.robots.ox.ac.uk/~vgg/data/pets/),该数据集包含37种不同品种的猫和狗的图像。 -![我们将处理的数据集](../../../../../../translated_images/data.50b2a9d5484bdbf0f52f5765b381cec9efe2bd296a98f007f90bedb6ac67f2a8.zh.png) +![我们将处理的数据集](../../../../../../translated_images/data.50b2a9d5484bdbf0.zh.png) 要下载数据集,请使用以下代码片段: diff --git a/translations/zh/lessons/4-ComputerVision/08-TransferLearning/README.md b/translations/zh/lessons/4-ComputerVision/08-TransferLearning/README.md index 90aff121..f283aa31 100644 --- a/translations/zh/lessons/4-ComputerVision/08-TransferLearning/README.md +++ b/translations/zh/lessons/4-ComputerVision/08-TransferLearning/README.md @@ -29,7 +29,7 @@ Keras 和 PyTorch 都包含函数,可以轻松加载一些常见架构的预 以下是 VGG-16 网络从一张猫的图片中提取的示例特征: -![VGG-16 提取的特征](../../../../../translated_images/features.6291f9c7ba3a0b951af88fc9864632b9115365410765680680d30c927dd67354.zh.png) +![VGG-16 提取的特征](../../../../../translated_images/features.6291f9c7ba3a0b95.zh.png) ## 猫与狗数据集 @@ -48,19 +48,19 @@ Keras 和 PyTorch 都包含函数,可以轻松加载一些常见架构的预 我们可以采取的一种方法是从一个随机图像开始,然后尝试使用**梯度下降优化**技术调整该图像,使网络认为它是一只猫。 -![图像优化循环](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044f997032f4eef9152b453e6a990e449bbfb107de2493cc37e.zh.png) +![图像优化循环](../../../../../translated_images/ideal-cat-loop.999fbb8ff306e044.zh.png) 然而,如果我们这样做,我们会得到一些非常类似于随机噪声的东西。这是因为*有很多方法可以让网络认为输入图像是一只猫*,包括一些在视觉上没有意义的方式。虽然这些图像包含了许多典型的猫的模式,但没有任何约束使它们在视觉上具有辨识度。 为了改善结果,我们可以在损失函数中添加另一个项,称为**变化损失**。它是一种度量,显示图像中相邻像素的相似程度。最小化变化损失可以使图像更平滑,并消除噪声,从而揭示更具视觉吸引力的模式。以下是一些这样的“理想”图像示例,它们被高概率分类为猫和斑马: -![理想猫](../../../../../translated_images/ideal-cat.203dd4597643d6b0bd73038b87f9c0464322725e3a06ab145d25d4a861c70592.zh.png) | ![理想斑马](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a314000bb5df38a6cfe086ea04d60df4d3ef313d046b98a2b.zh.png) +![理想猫](../../../../../translated_images/ideal-cat.203dd4597643d6b0.zh.png) | ![理想斑马](../../../../../translated_images/ideal-zebra.7f70e8b54ee15a7a.zh.png) -----|----- *理想猫* | *理想斑马* 类似的方法可以用来对神经网络进行所谓的**对抗性攻击**。假设我们想欺骗一个神经网络,让一只狗看起来像一只猫。如果我们拿一张被网络识别为狗的狗的图片,然后稍微调整它,直到网络开始将其分类为猫: -![狗的图片](../../../../../translated_images/original-dog.8f68a67d2fe0911f33041c0f7fce8aa4ea919f9d3917ec4b468298522aeb6356.zh.png) | ![被分类为猫的狗的图片](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89752539bfbf884118de845b3851c5162146ea0b8809fc820f.zh.png) +![狗的图片](../../../../../translated_images/original-dog.8f68a67d2fe0911f.zh.png) | ![被分类为猫的狗的图片](../../../../../translated_images/adversarial-dog.d9fc7773b0142b89.zh.png) -----|----- *狗的原始图片* | *被分类为猫的狗的图片* diff --git a/translations/zh/lessons/4-ComputerVision/09-Autoencoders/README.md b/translations/zh/lessons/4-ComputerVision/09-Autoencoders/README.md index cb7fe498..91f9444e 100644 --- a/translations/zh/lessons/4-ComputerVision/09-Autoencoders/README.md +++ b/translations/zh/lessons/4-ComputerVision/09-Autoencoders/README.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: 由于我们训练自动编码器的目标是尽可能捕捉原始图像的信息以实现准确的重建,网络会尝试找到输入图像的最佳**嵌入**以捕捉其意义。 -![自动编码器示意图](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb6197f3513cf3baf4dfbe1389a6ae74daebda64de9f1c99f142.zh.jpg) +![自动编码器示意图](../../../../../translated_images/autoencoder_schema.5e6fc9ad98a5eb61.zh.jpg) > 图片来源:[Keras 博客](https://blog.keras.io/building-autoencoders-in-keras.html) diff --git a/translations/zh/lessons/4-ComputerVision/11-ObjectDetection/README.md b/translations/zh/lessons/4-ComputerVision/11-ObjectDetection/README.md index 98bcb900..8833d4c4 100644 --- a/translations/zh/lessons/4-ComputerVision/11-ObjectDetection/README.md +++ b/translations/zh/lessons/4-ComputerVision/11-ObjectDetection/README.md @@ -13,7 +13,7 @@ CO_OP_TRANSLATOR_METADATA: ## [课前测验](https://ff-quizzes.netlify.app/en/ai/quiz/21) -![目标检测](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be1b905373ed9c858102c054b16e4595c76ec3f7bba0feb549.zh.png) +![目标检测](../../../../../translated_images/Screen_Shot_2016-11-17_at_11.14.54_AM.b4bb3769353287be.zh.png) > 图片来源:[YOLO v2 网站](https://pjreddie.com/darknet/yolov2/) @@ -25,7 +25,7 @@ CO_OP_TRANSLATOR_METADATA: 2. 对每个小块进行图像分类。 3. 对于分类结果激活值足够高的小块,可以认为其中包含目标物体。 -![简单目标检测](../../../../../translated_images/naive-detection.e7f1ba220ccd08c68a2ea8e06a7ed75c3fcc738c2372f9e00b7f4299a8659c01.zh.png) +![简单目标检测](../../../../../translated_images/naive-detection.e7f1ba220ccd08c6.zh.png) > *图片来源:[练习笔记本](ObjectDetection-TF.ipynb)* @@ -42,7 +42,7 @@ CO_OP_TRANSLATOR_METADATA: * [PASCAL VOC](http://host.robots.ox.ac.uk/pascal/VOC/) - 包含20个类别 * [COCO](http://cocodataset.org/#home) - 常见物体上下文数据集。包含80个类别、边界框和分割掩码 -![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb7caad48bd09e35b6028caabd363aa04fee89c414e0870e86.zh.jpg) +![COCO](../../../../../translated_images/coco-examples.71bc60380fa6cceb.zh.jpg) ## 目标检测评估指标 @@ -50,7 +50,7 @@ CO_OP_TRANSLATOR_METADATA: 对于图像分类来说,评估算法性能相对简单;但对于目标检测,我们需要同时评估类别的正确性以及推断出的边界框位置的精确性。后者通常使用**交并比**(IoU)来衡量两个框(或任意两个区域)的重叠程度。 -![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e119ecd0a7bcca4e71ab1dc83e0d4f2a0d66ff0859736f593cf.zh.png) +![IoU](../../../../../translated_images/iou_equation.9a4751d40fff4e11.zh.png) > *图片来源:[这篇关于IoU的优秀博客文章](https://pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/)* @@ -98,11 +98,11 @@ $$ [R-CNN](http://islab.ulsan.ac.kr/files/announcement/513/rcnn_pami.pdf)使用[选择性搜索](http://www.huppelen.nl/publications/selectiveSearchDraft.pdf)生成ROI区域的层次结构,然后通过CNN特征提取器和SVM分类器确定物体类别,并通过线性回归确定*边界框*坐标。[官方论文](https://arxiv.org/pdf/1506.01497v1.pdf) -![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1fb572656e44f75cd6c512cc220591c116c506652c10e47f26.zh.png) +![RCNN](../../../../../translated_images/rcnn1.cae407020dfb1d1f.zh.png) > *图片来源:van de Sande et al. ICCV’11* -![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484ec65b250c22dbf37d3d23244f32864ebcb91d98fe7c3112c.zh.png) +![RCNN-1](../../../../../translated_images/rcnn2.2d9530bb83516484.zh.png) > *图片来源:[这篇博客](https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e)* @@ -110,7 +110,7 @@ $$ 这种方法与R-CNN类似,但区域是在应用卷积层之后定义的。 -![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb41888754037d2d9763e2298a96de5d9bc2a21db3147357aa5da9b1a.zh.png) +![FRCNN](../../../../../translated_images/f-rcnn.3cda6d9bb4188875.zh.png) > 图片来源:[官方论文](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf),[arXiv](https://arxiv.org/pdf/1504.08083.pdf),2015 @@ -118,7 +118,7 @@ $$ 这种方法的核心思想是使用神经网络预测ROI——即所谓的*区域提议网络*。[论文](https://arxiv.org/pdf/1506.01497.pdf),2016 -![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30ab2ea26dbc4bdd85b974a57ba8eb526f65dc4cd0a4711de30.zh.png) +![FasterRCNN](../../../../../translated_images/faster-rcnn.8d46c099b87ef30a.zh.png) > 图片来源:[官方论文](https://arxiv.org/pdf/1506.01497.pdf) @@ -130,7 +130,7 @@ $$ 2. 特征通过**位置敏感得分图**处理。每个类别$C$的物体被划分为$k\times k$区域,并训练预测物体的各部分。 3. 对于$k\times k$区域中的每个部分,所有网络对物体类别进行投票,选择投票最多的类别。 -![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da50fa2787a6be5cb310d47f0e9655cc93a1090dc7aab338d1.zh.png) +![r-fcn image](../../../../../translated_images/r-fcn.13eb88158b99a3da.zh.png) > 图片来源:[官方论文](https://arxiv.org/abs/1605.06409) @@ -141,7 +141,7 @@ YOLO是一种实时单次检测算法。其核心思想如下: * 将图像划分为$S\times S$区域。 * 对每个区域,**CNN**预测$n$个可能的物体、*边界框*坐标和*置信度*=*概率* * IoU。 - ![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4ea27537677adb482fd4b733ca1705c561b6a24a85102dced5.zh.png) + ![YOLO](../../../../../translated_images/yolo.a2648ec82ee8bb4e.zh.png) > 图片来源:[官方论文](https://arxiv.org/abs/1506.02640) diff --git a/translations/zh/lessons/4-ComputerVision/README.md b/translations/zh/lessons/4-ComputerVision/README.md index 2491c960..68faae8f 100644 --- a/translations/zh/lessons/4-ComputerVision/README.md +++ b/translations/zh/lessons/4-ComputerVision/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 计算机视觉 -![计算机视觉内容总结涂鸦](../../../../translated_images/ai-computervision.6506ebebac3fbf76cdb78989d7d3dfea87e88285c0feaade53aa7804a22b248f.zh.png) +![计算机视觉内容总结涂鸦](../../../../translated_images/ai-computervision.6506ebebac3fbf76.zh.png) 在本节中,我们将学习以下内容: diff --git a/translations/zh/lessons/5-NLP/14-Embeddings/README.md b/translations/zh/lessons/5-NLP/14-Embeddings/README.md index cf0f0c4a..24f25667 100644 --- a/translations/zh/lessons/5-NLP/14-Embeddings/README.md +++ b/translations/zh/lessons/5-NLP/14-Embeddings/README.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: 通过在分类器网络中使用嵌入层作为第一层,我们可以从词袋模型切换到 **嵌入袋** 模型。在嵌入袋模型中,我们首先将文本中的每个单词转换为对应的嵌入,然后对所有这些嵌入计算某种聚合函数,例如 `sum`、`average` 或 `max`。 -![展示五个序列单词的嵌入分类器的图片。](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eeec8e68bfe11636c5b97d6eaa067515a129bfb1d0034b1ac5b.zh.png) +![展示五个序列单词的嵌入分类器的图片。](../../../../../translated_images/embedding-classifier-example.b77f021a7ee67eee.zh.png) > 图片由作者提供 @@ -40,7 +40,7 @@ CO_OP_TRANSLATOR_METADATA: CBoW 速度更快,而 Skip-Gram 虽然较慢,但在表示不常见单词方面表现更好。 -![展示 CBoW 和 Skip-Gram 算法将单词转换为向量的图片。](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.zh.png) +![展示 CBoW 和 Skip-Gram 算法将单词转换为向量的图片。](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.zh.png) > 图片来源于 [这篇论文](https://arxiv.org/pdf/1301.3781.pdf) diff --git a/translations/zh/lessons/5-NLP/15-LanguageModeling/README.md b/translations/zh/lessons/5-NLP/15-LanguageModeling/README.md index 4055ddff..608c7134 100644 --- a/translations/zh/lessons/5-NLP/15-LanguageModeling/README.md +++ b/translations/zh/lessons/5-NLP/15-LanguageModeling/README.md @@ -23,7 +23,7 @@ CO_OP_TRANSLATOR_METADATA: * **连续词袋模型** (CBoW),通过预测标记序列 $W_{-N}$, ..., $W_N$ 中的中间标记 $W_0$。 * **Skip-gram**,通过中间标记 $W_0$ 来预测一组邻近标记 {$W_{-N},\dots, W_{-1}, W_1,\dots, W_N$}。 -![论文中关于将单词转换为向量的算法示例](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6f0f5de66427e8a6eda63809356114e28fb1fa5f4a83ebda7.zh.png) +![论文中关于将单词转换为向量的算法示例](../../../../../translated_images/example-algorithms-for-converting-words-to-vectors.fbe9207a726922f6.zh.png) > 图片来源于[这篇论文](https://arxiv.org/pdf/1301.3781.pdf) diff --git a/translations/zh/lessons/5-NLP/16-RNN/README.md b/translations/zh/lessons/5-NLP/16-RNN/README.md index 2692e12d..1916b47e 100644 --- a/translations/zh/lessons/5-NLP/16-RNN/README.md +++ b/translations/zh/lessons/5-NLP/16-RNN/README.md @@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA: 为了捕捉文本序列的意义,我们需要使用另一种神经网络架构,称为**循环神经网络**(Recurrent Neural Network,RNN)。在 RNN 中,我们将句子逐个符号输入网络,网络会生成某种**状态**,然后将该状态与下一个符号一起再次输入网络。 -![RNN](../../../../../translated_images/rnn.27f5c29c53d727b546ad3961637a267f0fe9ec5ab01f2a26a853c92fcefbb574.zh.png) +![RNN](../../../../../translated_images/rnn.27f5c29c53d727b5.zh.png) > 图片由作者提供 @@ -61,7 +61,7 @@ LSTM 网络的组织方式与 RNN 类似,但有两个状态会从层到层传 循环网络,无论是单向还是双向,都能捕捉序列中的某些模式,并将其存储到状态向量中或传递到输出中。与卷积网络类似,我们可以在第一层之上构建另一层循环网络,以捕捉更高级的模式,并从第一层提取的低级模式中构建。这引出了**多层 RNN** 的概念,它由两个或更多循环网络组成,其中前一层的输出作为输入传递到下一层。 -![显示多层长短时记忆 RNN 的图片](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe58b429db833932d734c81f211cad2783797a9608984acb8c.zh.jpg) +![显示多层长短时记忆 RNN 的图片](../../../../../translated_images/multi-layer-lstm.dd975e29bb2a59fe.zh.jpg) *图片来自 Fernando López 的[这篇精彩文章](https://towardsdatascience.com/from-a-lstm-cell-to-a-multilayer-lstm-network-with-pytorch-2899eb5696f3)* diff --git a/translations/zh/lessons/5-NLP/17-GenerativeNetworks/README.md b/translations/zh/lessons/5-NLP/17-GenerativeNetworks/README.md index a23d1e73..611b0251 100644 --- a/translations/zh/lessons/5-NLP/17-GenerativeNetworks/README.md +++ b/translations/zh/lessons/5-NLP/17-GenerativeNetworks/README.md @@ -19,7 +19,7 @@ CO_OP_TRANSLATOR_METADATA: 这使得可以构建不同的神经网络架构,如下图所示: -![展示常见循环神经网络模式的图片。](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.zh.jpg) +![展示常见循环神经网络模式的图片。](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.zh.jpg) > 图片来源于 [Andrej Karpaty](http://karpathy.github.io/) 的博客文章 [循环神经网络的非凡有效性](http://karpathy.github.io/2015/05/21/rnn-effectiveness/) @@ -32,7 +32,7 @@ CO_OP_TRANSLATOR_METADATA: 我们将训练这个 RNN 逐步生成文本。在每一步中,我们将取长度为 `nchars` 的字符序列,并要求网络为每个输入字符生成下一个输出字符: -![展示 RNN 生成单词 'HELLO' 的示例图片。](../../../../../translated_images/rnn-generate.56c54afb52f9781d63a7c16ea9c1b86cb70e6e1eae6a742b56b7b37468576b17.zh.png) +![展示 RNN 生成单词 'HELLO' 的示例图片。](../../../../../translated_images/rnn-generate.56c54afb52f9781d.zh.png) 在生成文本(推理阶段)时,我们从某个**提示**开始,将其传递给 RNN 单元以生成中间状态,然后从该状态开始生成。我们一次生成一个字符,并将状态和生成的字符传递给另一个 RNN 单元以生成下一个字符,直到生成足够的字符。 diff --git a/translations/zh/lessons/5-NLP/18-Transformers/README.md b/translations/zh/lessons/5-NLP/18-Transformers/README.md index e8303ec3..75aaf6e2 100644 --- a/translations/zh/lessons/5-NLP/18-Transformers/README.md +++ b/translations/zh/lessons/5-NLP/18-Transformers/README.md @@ -20,13 +20,13 @@ CO_OP_TRANSLATOR_METADATA: **注意机制**提供了一种方法,可以对每个输入向量对RNN输出预测的上下文影响进行加权。其实现方式是创建输入RNN的中间状态与输出RNN之间的快捷路径。这样,在生成输出符号yt时,我们会考虑所有输入隐藏状态hi,并赋予不同的权重系数αt,i。 -![显示带有加性注意层的编码器/解码器模型的图像](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.zh.png) +![显示带有加性注意层的编码器/解码器模型的图像](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.zh.png) > [Bahdanau等人,2015](https://arxiv.org/pdf/1409.0473.pdf)中的加性注意机制编码器-解码器模型,图片来源于[这篇博客](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html) 注意矩阵{αi,j}表示某些输入词在生成输出序列中某个词时的影响程度。下面是一个这样的矩阵示例: -![显示由RNNsearch-50找到的样本对齐的图像,取自Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.zh.png) +![显示由RNNsearch-50找到的样本对齐的图像,取自Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.zh.png) > 图片来自[Bahdanau等人,2015](https://arxiv.org/pdf/1409.0473.pdf)(图3) @@ -66,7 +66,7 @@ Transformer的核心思想之一是避免RNN的顺序处理特性,并创建一 接下来,我们需要捕捉序列中的一些模式。为此,Transformer使用了**自注意机制**,即将注意机制同时应用于输入和输出的同一序列。应用自注意机制使我们能够考虑句子中的**上下文**,并查看哪些词是相互关联的。例如,它可以帮助我们识别代词*it*所指代的词,并考虑上下文: -![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.zh.png) +![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.zh.png) > 图片来源于[谷歌博客](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html) @@ -91,7 +91,7 @@ Transformer的核心思想之一是避免RNN的顺序处理特性,并创建一 **BERT**(Bidirectional Encoder Representations from Transformers,双向编码器表示)是一个非常大的多层Transformer网络,*BERT-base*有12层,*BERT-large*有24层。模型首先在大规模文本数据(维基百科+书籍)上进行无监督训练(预测句子中的被遮蔽词)。在预训练过程中,模型吸收了大量的语言理解能力,这些能力可以通过微调其他数据集来利用。这一过程称为**迁移学习**。 -![图片来源于http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.zh.png) +![图片来源于http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.zh.png) > 图片[来源](http://jalammar.github.io/illustrated-bert/) diff --git a/translations/zh/lessons/5-NLP/18-Transformers/READMEtransformers.md b/translations/zh/lessons/5-NLP/18-Transformers/READMEtransformers.md index d32d1a33..2e5060dd 100644 --- a/translations/zh/lessons/5-NLP/18-Transformers/READMEtransformers.md +++ b/translations/zh/lessons/5-NLP/18-Transformers/READMEtransformers.md @@ -11,13 +11,13 @@ **注意力机制**提供了一种对每个输入向量在RNN每个输出预测中的上下文影响进行加权的方法。它的实现方式是创建输入RNN和输出RNN之间的中间状态的快捷方式。通过这种方式,在生成输出符号 yt 时,我们将考虑所有输入隐藏状态 hi,并使用不同的权重系数 αt,i。 -![展示带有加性注意力层的编码器/解码器模型的图像](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567aa2898c94b17b3289087f6705c11907df8301df9e5eeb3de.zh.png) +![展示带有加性注意力层的编码器/解码器模型的图像](../../../../../translated_images/encoder-decoder-attention.7a726296894fb567.zh.png) > 该编码器-解码器模型与加性注意力机制见于 [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf),引用自 [这篇博客文章](https://lilianweng.github.io/lil-log/2018/06/24/attention-attention.html) 注意力矩阵 {αi,j} 表示某些输入单词在生成输出序列中给定单词的程度。以下是这样一个矩阵的示例: -![展示由RNNsearch-50找到的示例对齐的图像,取自Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af11de6c82d2d197830ba5f4528d9ea430eb65fd3a75065973.zh.png) +![展示由RNNsearch-50找到的示例对齐的图像,取自Bahdanau - arviz.org](../../../../../translated_images/bahdanau-fig3.09ba2d37f202a6af.zh.png) > 图自 [Bahdanau et al., 2015](https://arxiv.org/pdf/1409.0473.pdf) (图3) @@ -57,7 +57,7 @@ 接下来,我们需要捕捉序列中的一些模式。为此,变换器使用**自注意力**机制,这本质上是对同一序列应用的注意力。应用自注意力使我们能够考虑句子中的**上下文**,并查看哪些单词是相互关联的。例如,它使我们能够看到哪些单词是由指代词(如 *它*)引用的,并且还考虑上下文: -![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d68d8d0039d06a71a151f18a796b8b1330239d3590bd4947eb.zh.png) +![](../../../../../translated_images/CoreferenceResolution.861924d6d384a7d6.zh.png) > 图自 [Google博客](https://research.googleblog.com/2017/08/transformer-novel-neural-network.html) @@ -82,7 +82,7 @@ **BERT**(来自变换器的双向编码器表示)是一个非常大的多层变换器网络,其中 *BERT-base* 有12层,*BERT-large* 有24层。该模型首先在一个大型文本数据集(维基百科 + 书籍)上进行预训练,采用无监督训练(预测句子中被屏蔽的单词)。在预训练期间,模型吸收了显著的语言理解能力,这可以通过微调与其他数据集结合使用。这个过程被称为**迁移学习**。 -![图片来自 http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362e39ee4381aab7cad06b5465a0b5f053a0f2aa05fbe14e746.zh.png) +![图片来自 http://jalammar.github.io/illustrated-bert/](../../../../../translated_images/jalammarBERT-language-modeling-masked-lm.34f113ea5fec4362.zh.png) > 图片 [来源](http://jalammar.github.io/illustrated-bert/) diff --git a/translations/zh/lessons/5-NLP/19-NER/README.md b/translations/zh/lessons/5-NLP/19-NER/README.md index 421eb031..73aad397 100644 --- a/translations/zh/lessons/5-NLP/19-NER/README.md +++ b/translations/zh/lessons/5-NLP/19-NER/README.md @@ -58,7 +58,7 @@ NER模型本质上是**标记分类模型**,因为对于每个输入标记, 由于我们需要在标记和类别之间建立一一对应关系,我们可以从下图中训练一个最右侧的**多对多**神经网络模型: -![展示常见循环神经网络模式的图片。](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42dce6c42d8a56c184729aa2378d059b851be4ce12b993033df.zh.jpg) +![展示常见循环神经网络模式的图片。](../../../../../translated_images/unreasonable-effectiveness-of-rnn.541ead816778f42d.zh.jpg) > *图片来自[这篇博客文章](http://karpathy.github.io/2015/05/21/rnn-effectiveness/)作者为[Andrej Karpathy](http://karpathy.github.io/)。NER标记分类模型对应于此图片中最右侧的网络架构。* diff --git a/translations/zh/lessons/5-NLP/README.md b/translations/zh/lessons/5-NLP/README.md index a8f34683..9f45ae39 100644 --- a/translations/zh/lessons/5-NLP/README.md +++ b/translations/zh/lessons/5-NLP/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 自然语言处理 -![NLP任务总结图](../../../../translated_images/ai-nlp.b22dcb8ca4707ceaee8576db1c5f4089c8cac2f454e9e03ea554f07fda4556b8.zh.png) +![NLP任务总结图](../../../../translated_images/ai-nlp.b22dcb8ca4707cea.zh.png) 在本节中,我们将重点使用神经网络来处理与**自然语言处理 (NLP)**相关的任务。我们希望计算机能够解决许多NLP问题: diff --git a/translations/zh/lessons/6-Other/23-MultiagentSystems/README.md b/translations/zh/lessons/6-Other/23-MultiagentSystems/README.md index bb3e1b16..eb48258b 100644 --- a/translations/zh/lessons/6-Other/23-MultiagentSystems/README.md +++ b/translations/zh/lessons/6-Other/23-MultiagentSystems/README.md @@ -71,7 +71,7 @@ NetLogo的一个优点是它包含一个可供尝试的工作模型库。进入* 打开模型后,你会进入NetLogo的主界面。以下是一个描述狼和羊种群的示例模型,考虑到有限资源(草地)。 -![NetLogo主界面](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3cab22ec0b148e64193d0b979b055285bef329d5e3d6958c5.zh.png) +![NetLogo主界面](../../../../../translated_images/NetLogo-Main.32653711ec1a01b3.zh.png) > Dmitry Soshnikov提供的截图 diff --git a/translations/zh/lessons/README.md b/translations/zh/lessons/README.md index e5f6cec1..7575b4fc 100644 --- a/translations/zh/lessons/README.md +++ b/translations/zh/lessons/README.md @@ -9,7 +9,7 @@ CO_OP_TRANSLATOR_METADATA: --> # 概述 -![概述的手绘图](../../../translated_images/ai-overview.0857791951d19500d0ef8b803d77110c738dcafc52306e6d68724742cd4af167.zh.png) +![概述的手绘图](../../../translated_images/ai-overview.0857791951d19500.zh.png) > 手绘笔记由 [Tomomi Imura](https://twitter.com/girlie_mac) 提供 diff --git a/translations/zh/lessons/X-Extras/X1-MultiModal/README.md b/translations/zh/lessons/X-Extras/X1-MultiModal/README.md index 94251361..1602731f 100644 --- a/translations/zh/lessons/X-Extras/X1-MultiModal/README.md +++ b/translations/zh/lessons/X-Extras/X1-MultiModal/README.md @@ -15,7 +15,7 @@ CO_OP_TRANSLATOR_METADATA: CLIP的核心思想是能够比较文本提示与图像,并确定图像与提示的匹配程度。 -![CLIP架构](../../../../../translated_images/clip-arch.b3dbf20b4e8ed8be1c38e2bc6100fd3cc257c33cda4692b301be91f791b13ea7.zh.png) +![CLIP架构](../../../../../translated_images/clip-arch.b3dbf20b4e8ed8be.zh.png) > *图片来源于[这篇博客](https://openai.com/blog/clip/)* @@ -29,7 +29,7 @@ CLIP模型/库可以从[OpenAI GitHub](https://github.com/openai/CLIP)获取。 假设我们需要将图像分类为猫、狗和人类。在这种情况下,我们可以给模型一个图像,以及一系列文本提示:“*一张猫的图片*”、“*一张狗的图片*”、“*一张人类的图片*”。在结果的3个概率向量中,我们只需选择值最高的索引。 -![CLIP用于图像分类](../../../../../translated_images/clip-class.3af42ef0b2b19369a633df5f20ddf4f5a01d6c8ffa181e9d3a0572c19f919f72.zh.png) +![CLIP用于图像分类](../../../../../translated_images/clip-class.3af42ef0b2b19369.zh.png) > *图片来源于[这篇博客](https://openai.com/blog/clip/)* @@ -53,13 +53,13 @@ VQGAN与普通[GAN](../../4-ComputerVision/10-GANs/README.md)的主要区别在 VQGAN与传统GAN的一个重要区别在于,后者可以从任何输入向量生成一个不错的图像,而VQGAN可能生成一个不连贯的图像。因此,我们需要进一步引导图像创建过程,这可以通过CLIP来实现。 -![VQGAN+CLIP架构](../../../../../translated_images/vqgan.5027fe05051dfa3101950cfa930303f66e6478b9bd273e83766731796e462d9b.zh.png) +![VQGAN+CLIP架构](../../../../../translated_images/vqgan.5027fe05051dfa31.zh.png) 为了生成与文本提示相对应的图像,我们从一些随机编码向量开始,将其传递给VQGAN以生成图像。然后使用CLIP生成一个损失函数,显示图像与文本提示的匹配程度。目标是通过反向传播调整输入向量参数以最小化该损失。 一个实现VQGAN+CLIP的优秀库是[Pixray](http://github.com/pixray/pixray)。 -![Pixray生成的图片](../../../../../translated_images/a_closeup_watercolor_portrait_of_young_male_teacher_of_literature_with_a_book.2384968e9db8a0d09dc96de938b9f95bde8a7e1c721f48f286a7795bf16d56c7.zh.png) | ![Pixray生成的图片](../../../../../translated_images/a_closeup_oil_portrait_of_young_female_teacher_of_computer_science_with_a_computer.e0b6495f210a439077e1c32cc8afdf714e634fe24dc78dc5aa45fd2f560b0ed5.zh.png) | ![Pixray生成的图片](../../../../../translated_images/a_closeup_oil_portrait_of_old_male_teacher_of_math.5362e67aa7fc2683b9d36a613b364deb7454760cd39205623fc1e3938fa133c0.zh.png) +![Pixray生成的图片](../../../../../translated_images/a_closeup_watercolor_portrait_of_young_male_teacher_of_literature_with_a_book.2384968e9db8a0d0.zh.png) | ![Pixray生成的图片](../../../../../translated_images/a_closeup_oil_portrait_of_young_female_teacher_of_computer_science_with_a_computer.e0b6495f210a4390.zh.png) | ![Pixray生成的图片](../../../../../translated_images/a_closeup_oil_portrait_of_old_male_teacher_of_math.5362e67aa7fc2683.zh.png) ----|----|---- 从提示*一张年轻男性文学教师拿着书的水彩特写肖像*生成的图片 | 从提示*一张年轻女性计算机科学教师拿着电脑的油画特写肖像*生成的图片 | 从提示*一张老年男性数学教师站在黑板前的油画特写肖像*生成的图片