OpenSource-Hub

AI-For-Beginners

チュートリアル

microsoft/AI-For-Beginners

初心者向けの 12 週間 AI コース。実習とクイズ付き。

概要

12週間・全24レッスンのAI入門コース。ニューラルネットワーク、コンピュータビジョン、自然言語処理、倫理などの基礎知識を網羅し、TensorFlowとPyTorchを使用した実践的なラボとクイズを含み、複数の言語に対応しています。

README プレビュー

[](https://github.com/microsoft/AI-For-Beginners/blob/main/LICENSE)\n[](https://GitHub.com/microsoft/AI-For-Beginners/graphs/contributors/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/issues/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/pulls/)\n[](http://makeapullrequest.com)\n\n[](https://GitHub.com/microsoft/AI-For-Beginners/watchers/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/network/)\n[](https://GitHub.com/microsoft/AI-For-Beginners/stargazers/)\n[](https://mybinder.org/v2/gh/microsoft/ai-for-beginners/HEAD)\n[](https://gitter.im/Microsoft/ai-for-beginners?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)\n\n[](https://discord.gg/nTYy5BXMWG)\n\n# Artificial Intelligence for Beginners - A Curriculum\n\n||\n|:---:|\n| AI For Beginners - _Sketchnote by [@girlie_mac](https://twitter.com/girlie_mac)_ |\n\nExplore the world of **Artificial Intelligence** (AI) with our 12-week, 24-lesson curriculum!  It includes practical lessons, quizzes, and labs. The curriculum is beginner-friendly and covers tools like TensorFlow and PyTorch, as well as ethics in AI\n\n\n### 🌐 Multi-Language Support\n\n#### Supported via GitHub Action (Automated & Always Up-to-Date)\n\n\n[Arabic](./translations/ar/README.md) | [Bengali](./translations/bn/README.md) | [Bulgarian](./translations/bg/README.md) | [Burmese (Myanmar)](./translations/my/README.md) | [Chinese (Simplified)](./translations/zh-CN/README.md) | [Chinese (Traditional, Hong Kong)](./translations/zh-HK/README.md) | [Chinese (Traditional, Macau)](./translations/zh-MO/README.md) | [Chinese (Traditional, Taiwan)](./translations/zh-TW/README.md) | [Croatian](./translations/hr/README.md) | [Czech](./translations/cs/README.md) | [Danish](./translations/da/README.md) | [Dutch](./translations/nl/README.md) | [Estonian](./translations/et/README.md) | [Finnish](./translations/fi/README.md) | [French](./translations/fr/README.md) | [German](./translations/de/README.md) | [Greek](./translations/el/README.md) | [H

FAQ (5)

トラブル対応
正例と負例をプロットする際に発生する matplotlib の "TypeError: Axes.plot() got an unexpected keyword argument 's'" エラーの修正方法

plot() は散布図のサイズパラメータ s をサポートしていません。ax.plot() を ax.scatter() に置き換え、色は c で指定してください:

ax1.scatter(pos_examples[:, 0], pos_examples[:, 1],
            c='blue', marker='o', label='Positive', s=100, alpha=0.6)
ax1.scatter(neg_examples[:, 0], neg_examples[:, 1],
            c='red', marker='o', label='Negative', s=100, alpha=0.6)

scatter() では 'bo'/'ro' という書式文字列を使わないでください。代わりに c='blue' と c='red' を使用してください。

参照 Issue #726
トラブル対応
なぜタミル語の翻訳にヒンディー語の単語が表示されるのですか?また、どうすれば修正できますか?

これは、タミル語ロケール配下にコミットされた、機械翻訳によるヒンディー語(デーヴァナーガリー)テキストの残存が原因です。rg '[\x{0900}-\x{097F}]' translations/ta/ でタミル語ファイルを監査し、英語ソースに基づいてすべてのヒンディー語の箇所を正しいタミル語の対応表現に置き換え、translations/ta/README.md にヒンディー語のセクションが含まれている場合は復元してください。この修正は、PR「fix(translations): replace residual Hindi words in Tamil lessons」および「fix: restore Tamil README translation」(Fixes #734)で対応されています。一時的な回避策として、英語版を使用するか、影響を受けているタミル語Markdownファイルからデーヴァナーガリーテキストを手動で削除してください。

参照 Issue #734
トラブル対応
Pythonの画像検証でSystemExitやKeyboardInterruptをキャッチするbare except節を修正するにはどうすればよいですか?

すべての裸の except: を except Exception: に置き換え、通常のアプリケーション例外のみをキャッチし、システムレベルの例外は伝播させるようにしてください。以下の4つのファイルを更新してください:

- lessons/4-ComputerVision/07-ConvNets/tfcv.py(51行目)
- lessons/4-ComputerVision/07-ConvNets/pytorchcv.py(137行目)
- lessons/4-ComputerVision/08-TransferLearning/tfcv.py(51行目)
- lessons/4-ComputerVision/08-TransferLearning/pytorchcv.py(137行目)

修正例:

def check_image(fn):
    try:
        im = Image.open(fn)
        im.verify()
        return True
    except Exception:
        return False

これは PEP 8 に準拠しており、KeyboardInterrupt、SystemExit などの重要な例外が暗黙的にマスクされるのを防ぎます。

参照 Issue #707
トラブル対応
OwnFramework のバックプロパゲーションのレッスンで、誤った delta p の式を修正するにはどうすればよいですか?

数式は、損失の有限変化ではなく、偏微分による連鎖律(チェーンルール)を使用する必要があります。p をパラメータ、z を層の出力、L を損失とすると、次の式を使用します:

∂L/∂p = ∂L/∂z · ∂z/∂p

ここで、∂L/∂z は次の層からの上流の勾配であり、∂z/∂p はローカルな勾配です。損失の実際の変化である ΔL を掛けたり、損失の有限変化を勾配として扱ったりしないでください。

線形層 z = Wx + b の場合、勾配は次のようになります:

∂L/∂W = ∂L/∂z · xᵀ
∂L/∂b = ∂L/∂z
∂L/∂x = Wᵀ · ∂L/∂z

オプティマイザの更新は分離しておきます:

p_new = p - learning_rate · ∂L/∂p

OwnFramework.ipynb の最新バージョンを pull するか、誤った δp の式を上記の連鎖律の式に置き換えてください。修正済みのノートブックでは、obtanes という誤字も修正され、p と z の偏微分表記が一貫して使用されています。

参照 Issue #730
トラブル対応
READMEでタミル語の翻訳がヒンディー語のテキストとして表示される問題を修正するにはどうすればよいですか?

この問題は、タミル語(ta)のREADMEにヒンディー語/デーヴァナーガリー文字のコンテンツが含まれていたことが原因で発生しました。translations/ta/README.md にあるタミル語のREADMEを復元することで修正されました。更新後は、ファイルにタミル文字が含まれ、デーヴァナーガリー文字が含まれていないことを確認してください。この修正では、タミル文字の行が102行、デーヴァナーガリー文字の行が0行と報告されています。最新の変更をプルするか、PR fix(ta): restore Tamil translation in README を適用してください。残りの翻訳に関する問題は https://github.com/Azure/co-op-translator で報告してください。

参照 Issue #706