父親が8歳の娘にディープラーニングを説明する:11の事実

父親が8歳の娘にディープラーニングを説明する:11の事実

「ニューラル ネットワークは数を数えるのと同じくらい簡単です」、「畳み込み層は単なるバット シグナルです」... この記事では、父親が手書きの数字の認識から始めて、8 歳の娘に「ディープラーニング」を非常に簡単な言葉で説明します。もちろん、この記事を使ってガールフレンド(いる場合)に自分の仕事について説明することもできます。

[[274281]]

機械学習、特にディープラーニングはホットな話題であり、メディアでは必ず「人工知能」という流行語を目にするでしょう。

しかし、これらは新しい概念ではありません。最初の人工ニューラル ネットワーク (ANN) は 1940 年代に導入されました。では、なぜ最近ニューラル ネットワークとディープラーニングが話題になっているのでしょうか?これらの概念については、GPU と機械学習に関する一連のブログ投稿で詳しく説明します。

[[274282]]

80 年代に、父が銀行小切手の文字認識ツールを作ったのを覚えています。あらゆるバリエーションに対応する方程式が必要だったため、非常に多くの異なるタイプの筆跡をチェックするのは本当に大変でした。

過去数年にわたって、この種の問題に取り組む最善の方法は畳み込みニューラル ネットワークであることが明らかになりました。人間が設計した方程式は、無限の手書きパターンを処理するのに適さなくなりました。

最も典型的な例の 1 つ、手書きの数字を認識するニューラル ネットワークである数字認識システムの構築を見てみましょう。

事実1: ニューラルネットワークは数えるのと同じくらい簡単

まず、一番上の行の赤い図形が、各黒い手書きの数字に何回現れるかを数えます。

手書き数字の簡略化されたマトリックス

次に、同じ赤い形に一致する数字の数を数えることで、新しい手書きの数字を認識(推測)してみましょう。次に、これを前の表と比較して、この数字がどの数字と最も強い相関関係にあるかを判断します。

手書きの数字の形を合わせる

おめでとう!手書きの数字を認識するための世界で最もシンプルなニューラル ネットワーク システムを構築しました。

事実2: 画像は単なるマトリックスである

コンピュータは画像をマトリックスとして表示します。白黒画像は 2D マトリックスです。

画像を考えてみましょう。簡単にするために、28 ピクセルの正方形サイズの数字 8 の小さな白黒画像を撮ります。

マトリックスの各セルは、0 (黒を表す) から 255 (純粋な白のピクセルを表す) までのピクセル強度を表します。

したがって、画像は次の 28×28 ピクセルのマトリックスとして表されます。

手書きの数字8とそれに関連する強度マトリックスの画像

事実3: 畳み込み層は単なるバットシグナルに過ぎない

写真に表示されているパターン(ここでは手書きの数字 8)を判別するには、バットシグナル/懐中電灯を使用します。機械学習では、懐中電灯はフィルターと呼ばれます。このフィルターは、Gimp などの一般的な画像処理ソフトウェアで使用される従来の畳み込み行列計算を実行するために使用されます。

[[274283]]

フィルターは画像をスキャンして画像内のパターンを見つけ、一致が成功した場合に肯定的なフィードバックをトリガーします。これは、子供の形を分類するボックスに少し似ています。三角形のフィルターは三角形の穴に一致し、四角形のフィルターは四角形の穴に一致します。

画像フィルターは、子供向けの形状分類ボックスのように機能します。

事実4: フィルタマッチングは簡単に並列化できるタスクである

より科学的な言葉で言えば、画像のフィルタリングプロセスは以下のアニメーションのようになります。ご覧のとおり、フィルター スキャンの各ステップは互いに独立しており、このタスクは高度に並列化できます。

フィルターは相互に依存していないため、数十のフィルターが同時に実行されることに注意してください。

https://github.com/vdumoulin

事実5: フィルタリング操作(行列畳み込み)を可能な限り繰り返す

入力画像/行列が複数の行列畳み込みを使用してフィルタリングされることを見てきました。

画像認識の精度を向上させるには、前の操作でフィルタリングされた画像を取得し、それを何度もフィルタリングするだけです...

もちろん、少し単純化しすぎていますが、一般的には、使用するフィルターの数が多くなり、この操作を連続して繰り返す回数が増えるほど、結果の精度が高まります。

これは、プリミティブ フィルターからエッジ、ホイール、正方形、立方体などのフィルターまで、オブジェクト フィルターのより明確な説明を得るために新しい抽象化レイヤーを作成するようなものです。

事実6: 行列の畳み込みは単なる乗算と加算の演算である

一枚の写真は千の言葉に値します: 次の画像は、畳み込みフィルター (3×3) を使用してフィルター処理されたソース画像 (8×8) の簡略化されたビューです。懐中電灯の投影 (ここでは、Sobel Gx フィルター) によって 1 つの値が提供されます。

入力行列に適用された畳み込みフィルタ(Sobel Gx)の例

(出典: https://datascience.stackexchange.com/questions/23183/why-convolutions-always-use-odd-numbers-as-filter-size/23186)

これがこのアプローチの魔法です。単純な行列演算は高度に並列化可能であり、汎用グラフィックス処理ユニットの使用例に完全に適合します。

事実 7: 検出された内容を簡略化して要約する必要があるか? max() を使用するだけです

一般化可能な知識を学習するには、フィルターが検出した内容を要約する必要があります。

これを行うには、前のフィルタリング操作の出力をサンプリングします。

この操作はプーリングまたはダウンサンプリングと呼ばれますが、実際には行列のサイズを縮小するためのものです。

最大化、最小化、平均、カウント、中央値、合計などの削減操作を使用できます。

最大プーリング層の例 (出典: スタンフォード大学 CS231n)

事実8: 最終結果を得るために出力を平坦化する

私たちが研究しているニューラル ネットワークの主な目的は、画像認識システム (画像分類とも呼ばれる) を構築することであることを忘れないでください。

ニューラル ネットワークの目的が手書きの数字を検出することである場合、入力画像は最終的に 10 個のクラス ([0、1、2、3、4、5、6、7、8、9]) にマッピングされます。

これらすべてのフィルターとダウンサンプリング レイヤーを通過した後でのみ、この入力をクラスにマッピングするには、10 個のニューロン (各ニューロンはクラスを表す) のみを使用し、各ニューロンを最後のサブサンプリング レイヤーに接続します。

以下は、画像認識にこの技術を早期に採用した人の 1 人である Yann Lecun が設計したオリジナルの LeNet-5 畳み込みニューラル ネットワークの概要です。

オリジナル論文の LeNet-5 アーキテクチャ (出典: http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf)

事実9: ディープラーニングはフィードバックループに基づく継続的な改善に過ぎない

この技術の素晴らしさは、畳み込みだけでなく、ネットワーク自体の学習能力と適応能力からも生まれます。バックプロパゲーションと呼ばれるフィードバック ループを実装することで、ネットワークは重みを使用して、異なるレイヤー内の一部の「ニューロン」を緩和および抑制します。

ネットワークの出力を確認し、推測 (出力 0、1、2、3、4、5、6、7、8、または 9) が間違っていた場合は、どのフィルターが「間違いを犯した」かを調べ、間違いを見つけたら、そのフィルターに小さな重みを与えて、次回同じ間違いを繰り返さないようにします。見て!システムは学習し、常に自己改善を続けています。

事実10: これらすべては、ディープラーニングが簡単に並列化できるプロセスであることを示している

何千もの画像を抽出し、何十ものフィルターを実行し、ダウンサンプリングを適用し、出力を平坦化します...これらすべてのステップは並列で実行できるため、システムを簡単に並列化できます。これは、超並列コンピューティングに最適な GPGPU (汎用グラフィックス プロセッシング ユニット) に最適な使用例です。

事実 11: さらに精度が必要ですか?ネットワークは少し深くなります。

もちろんこれは少し単純化しすぎですが、主要な「画像認識コンテスト」である ImageNet チャレンジを見ると、ニューラル ネットワークの深さが増すにつれてエラー率が減少することがわかります。一般的に、他の要因を除外すると、ネットワークの深さを増やすと、一般化能力と精度が向上すると考えられています。

Imagenet チャレンジ優勝者 エラー率とネットワークのレイヤー数

(出典: https://medium.com/@sidereal/cnns-architectures-lenet-alexnet-vgg-googlenet-resnet-and-more-666091488df5)

結論は

画像認識に適用されるディープラーニングの概念について簡単に紹介しました。画像認識 (医療、衛星、自動運転など) のためのほぼすべての新しいアーキテクチャは、レイヤーの数、フィルターの種類、初期化ポイント、マトリックス サイズ、トリック (画像拡張、ドロップアウト、重み圧縮など) が異なるだけで、同じ原理を使用していることは注目に値します。概念は同じです:

手書き数字認識プロセス

ディープラーニング モデルのトレーニングと推論は、多数の基本的な行列演算を並列に実行することに要約できます。これはまさに、既存のグラフィックス プロセッシング ユニット (GPU) が使用されている目的です。


<<:  自動運転AIアルゴリズムとマルチセンサー融合技術

>>:  MITの新しいAI研究:セーターが編めなくても問題ない、AIにやらせればいい

ブログ    

推薦する

SMIC、AIoT時代の最も価値ある製造業である14nmプロセスチップを量産

SMICは最近、研究開発への投資を増やすことで14nmプロセスチップを量産し、2021年に正式に出荷...

今日、私たちはすべてのお金を AI に与える勇気があるでしょうか?

お金を稼ぐこと以上に満足できることがあるでしょうか? もちろん、何もせずにお金を稼ぐことです。私たち...

...

疑わないでください、それはあなたです!あなたの信頼が自動運転の運命を決める

ヒューマンエラーによる交通事故は人々を自動車恐怖症にさせませんが、自動運転車はなぜか人々を恐怖に陥れ...

人工知能の急速な発展により、小売業界は第5の変革期を迎えている。

[[252330]]人工知能の急速な発展は、新しい小売業者に力を与え、小売業界の「人、商品、場所」...

GPT-4Vに挑戦する浙江大学の卒業生が、マルチモーダル大規模モデルのオープンソース版をリリースし、GitHubで6,000以上のスターを獲得しました。

GPT-4 の視覚機能がテスト用に完全にリリースされる前に、オープンソースのライバルが華々しくデビ...

...

...

クラウドコンピューティングと人工知能が、先進的な企業に前例のない機会を生み出す方法

近年、ますます大規模なデータセットを処理するために SaaS (サービスとしてのソフトウェア) モデ...

...

AIは医者と同等でしょうか?

2016年3月以来、AlphaGoと呼ばれるロボットが、有名な囲碁プレイヤーであるイ・セドルと柯潔...

...

Python 自然言語処理 (NLP) を使用して要約を作成する方法

たくさんのレポートを読まなければならないときに、それぞれのレポートを簡単に要約したいという状況に遭遇...