ディープラーニングパーセプトロンの原理の詳しい説明

ディープラーニングパーセプトロンの原理の詳しい説明

前回の機械学習のトピックは終了しました。機械学習の分野でよく使用されるアルゴリズム、モデル、その原理、実装について説明しました。ただし、マルコフ、隠れマルコフ、条件付きランダムフィールドなど、関係のないテクノロジもまだいくつかあります。ただし、これらの内容は比較的弱く、あまり頻繁に使用されない内容であるため、一つ一つ説明することはしません。興味のある学生は自分で学習してください。 GBDT や SVM のようなモデルを理解できれば、それらのモデルはまったく問題ないと思います。

ディープラーニング入門

ディープラーニングは近年非常に人気があり、多くの人がそれを人工知能と関連付けています。ここでの「詳細」とは、詳細な学習や深い概念を指すのではなく、単に複数のニューラル ネットワーク層で構成された「ディープ」ニューラル ネットワークを指します。

[[346173]]

実際、ニューラル ネットワーク、ディープ ニューラル ネットワーク、ディープラーニングのアルゴリズムなど、すべて数十年の歴史があります。たとえば、ディープラーニングのよく知られたコアアルゴリズムであるバックプロパゲーションアルゴリズムは、30 年以上前の 1989 年に初めて提案されました。この分野は長い歴史を持ちますが、浮き沈みを経験してきました。栄光の時代もありましたが、近年になって急激に台頭し、ほとんど誰もが知っている概念になりました。

その理由は非常に単純です。ニューラル ネットワークのトレーニングの複雑さが大きすぎるため、従来のコンピューティング リソースではこのような大規模な計算を処理できないのです。つまり、以前の時代では、ディープラーニングはまだニッチな分野でした。研究をする人は多くなく、資金も限られています。近年、コンピューティング リソースの急速な発展と、GPU によるニューラル ネットワークのトレーニングを加速するブラック テクノロジーの発明により、当初は不可能だったことが可能になりました。 AlphaGoがイ・セドルを破ったという画期的な出来事と相まって、ディープラーニングは一気に多くのリソースと注目を集め、業界は自然に繁栄しました。

ディープラーニングはニューラルネットワークに関連する技術であるため、本特集記事の内容も当然ニューラルネットワークの範囲から逸脱することはありません。今日は、ニューラル ネットワークの最も基本的なニューロンであるパー​​セプトロンから始めます。

パーセプトロン

パーセプトロンの英語名は perceptron で、これはニューラル ネットワークの最小の構成要素として理解できます。自然界の生物では、神経の最小単位はニューロンであることがわかっています。ニューロンは、おおよそ下図のような細胞です。学生のほとんどは生物学の教科書でニューロンの写真を見たことがあると思います。

パーセプトロンは、ニューロンのバイオニック構造として理解することができます。ニューロン セルは複数の神経細胞に接続でき、これらのニューロンは互いに接続されて巨大なネットワークを形成することは誰もが知っています。ニューロンは電気信号と化学物質を相互に伝達し、一連の複雑な反応を形成します。人間の脳は極めて大きく複雑な神経ネットワークとして理解することができますが、人間の脳と生物の神経ネットワークがどのように機能するかについてはコンセンサスがありません。

しかし、コンピューター科学者はニューロンとニューラルネットワークをシミュレートしてディープラーニングモデルを構築し、実際にいくつかの問題で驚くべき結果を達成しました。パーセプトロンはニューロン セルの抽象化として考えることができます。ニューロン セルが他の複数のニューロンから信号を受信し、別のニューロン セルに信号を送信することは誰もが知っています。入力信号を入力として、出力信号を出力として扱い、パーセプトロンの構造を取得します。

ここでは、構造を可能な限りシンプルにしました。入力信号を浮動小数点数と見なします。各信号には独自の重みがあります。すべての信号が加算され、最終的にマッピング関数を通じて出力されます。

最も単純なパーセプトロンを例として見てみましょう。

このパーセプトロンには2つの入力しかないので、簡単に

ここで y は浮動小数点数であり、y に符号関数を当てはめることができます。いわゆる符号関数は、しきい値に従って分類するために使用されます。例えば、閾値を設定する

もし

それで

さもないと

ニューロンやパーセプトロンに似ていますが、原理は非常に単純です。式で表すと次のようになります。

ここ

これを活性化関数といいます。上記の例の活性化関数は符号関数であり、しきい値に従って分類する関数です。ニューラル ネットワークでよく使用される活性化関数には、主に 3 つの種類があります。1 つはよく知られているシグモイド関数、もう 1 つは relu 関数、そしてもう 1 つは tanh 関数です。それぞれの画像を個別に見てみましょう。

relu 関数の方程式は非常に単純です。

。しかし、これは非常にうまく機能し、ニューラル ネットワークで最も一般的に使用される活性化関数の 1 つです。これを使用した場合の収束速度は、シグモイドを使用した場合よりも速くなります。その理由は非常に単純です。シグモイド関数のグラフは両側で非常に滑らかなので、導出から得られる結果は 0 に非常に近くなり、勾配が下がると収束速度は自然に遅くなります。これについては、以前シグモイ​​ド関数を紹介したときにも触れました。

画像から、tanh 関数とシグモイド関数は非常によく似ています。 唯一のわずかな違いは、値の範囲が異なることです。 シグモイド関数の値の範囲は 0 ~ 1 ですが、tanh の値の範囲は -1 ~ 1 です。値の範囲が違うだけのように思えますが、それでも差はかなり大きいです。一方で、両者の感度範囲は異なります。 tanh の感度範囲は比較的広いです。もう 1 つのポイントは、sigmoid によって出力される値はすべて正であるため、シナリオによっては問題が発生する可能性があることです。

パーセプトロンは実際には活性化関数を持つ線形方程式であることは誰でもわかると思います。ある程度、ロジスティック回帰モデルもパーセプトロンとして考えることができます。皆さんにとって混乱するかもしれない質問があります。なぜ線形方程式の後に活性化関数を追加する必要があるのでしょうか?追加しなくても大丈夫ですか?

答えは「いいえ」です。その理由は非常に単純で、複数のニューロンをまとめてネットワークを形成するからです。各ニューロンの計算が純粋に線形である場合、ニューラル ネットワーク全体は実際には線形演算と同等になります。これは数学的に証明できるので、計算結果が純粋に線形にならないようにパーセプトロンに何かを追加する必要があります。

パーセプトロンと論理回路

最後に、より実用的な例を見てみましょう。最も単純な例は、もちろん、論理回路の AND-OR ゲートです。 AND ゲート、OR ゲート、NOT ゲートは実際には似ており、いずれも 2 つの入力と 1 つの出力を持ちます。

AND ゲートを例に挙げてみましょう。

バイナリ AND 演算は誰でも知っています。両方の数字が 1 の場合にのみ 1 が得られます。このようなパーセプトロンを書くのも非常に簡単です。

  1. 定義AND (x1, x2):
  2. x = np.array([x1, x2]) w = np.array([0.5, 0.5])
  3. シータ = 0.7
  4. w.dot(x) > thetaを返す

同様に、OR ゲートや NOT ゲートも記述できますが、これも難しくありません。しかし、解決できない状況、つまり XOR 状況があることがわかります。まず、XOR の真理値表を見てみましょう。

XOR データをセグメント化するためにパーセプトロンを使用することはできません。この問題は、以前に SVM モデルで紹介したとおりです。XOR データは線形に分離できないため、分割線でセグメント化することはできません。

しかし、XOR 問題は解決不可能というわけではありません。単一のパーセプトロンを使用して分割することはできませんが、パーセプトロンを直列に接続して単純なニューラル ネットワークを形成すると、問題は解決可能になります。 AND ゲート、OR ゲート、NOT ゲートはすでに実装されていると仮定します。 XOR ゲートは次のように実装できます。

  1. XOR(x1, x2)を定義します。
  2. # ゲートなし
  3. s1 = NAND(x1, x2)
  4. s2 =または(x1, x2)
  5. 戻る かつ(s1, s2)

パーセプトロン全体の構造は次のようになります。

TensorFlow 公式サイトでは、プレイグラウンドと呼ばれる Web アプリケーションが提供されており、これを使用すると、ニューラル ネットワークの構成とトレーニング プロセスを直感的に体験できます。例えば、先ほどのXOR問題では、ニューラルネットワークの層の数や各層に含まれるニューロンの数を自分で設定することができます。ニューロンの活性化関数も設定でき、ニューラルネットワークのトレーニングプロセスや各種パラメータの役割を直感的に体験できます。

この時点で、パーセプトロンの紹介はほぼ終わりです。パーセプトロンはニューラルネットワークの基礎です。実は内容はそれほど多くありません。構造も形式も、前回の機械学習で紹介したロジスティック回帰と非常によく似ています。技術的な難しさやポイントは多くなく、直感的に感じ取ればよいだけです。

<<:  AIについて何も知らないのに、どうやってAIを開発すればいいのでしょうか?

>>:  8つの一般的なアルゴリズムのアイデアを説明する1つの記事

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

GPT-4+Midjourney がコードなしで「Angry Pumpkin」を作成!実際の経験:閾値は低くなく、再現が難しい

市販の AI ツールを使えば、自分でコードを 1 行も書かずに完全な「Angry Birds」を作れ...

研究報告によると、GPT-4の「知能」は大幅に低下している

7月20日、スタンフォード大学とカリフォルニア大学バークレー校の研究チームが最近GPT-4の詳細な研...

人工知能が高等教育を支援する:変化と持続

[[434825]]人工知能が教育に浸透する中で、我々は「静をもって動を制御する」という決意を持ち、...

...

ニューラルネットワークのトレーニングを4倍高速化! Google Brainチームが「データエコー」アルゴリズムを提案

[[271402]]ムーアの法則の終焉にあたり、GPU やその他のハードウェア アクセラレータによっ...

自動運転は自動車産業の未来だが、これはドライバーが手を完全に自由にできることを意味するものではない。

自動運転車は未来を象徴しているが、運転手が全てを完全に機械に任せることはできないかもしれない。おそら...

電力業界における人工知能開発の現状

今日は、人類が初めて電気を家庭や企業に供給するようになってから 140 年目の記念日です。電力産業は...

...

世界初!人間の脳のようなスーパーコンピュータ「シェナン」がまもなく発売され、ムーアの法則を破り、エネルギー消費を数桁削減する

人間の脳は地球上で最も効率的な計算装置です。わずか 20W の電力と 1.3kg の質量で、1 秒間...

絶賛されていたGPT-3が充電開始します!ネットユーザー:値段が高す​​ぎる。もう行っちゃった。

少し前に絶賛されたGPT-3を覚えていますか?招待されたユーザーのみがテスト・使用できるもので、史上...

アルゴリズムのパフォーマンスを最適化するためにデータ品質を確保するための 6 つのヒント

今日、企業は、分析アルゴリズムの良し悪しは、そのアルゴリズムをトレーニングするデータの良し悪しによっ...

Googleはプライバシーポリシーを更新し、インターネット上の公開データをAIの訓練に利用していることを明確にした。

7月6日、Googleはプライバシーポリシーを更新し、BardやCloud AIなどのさまざまな人...

人工知能が製造業のデジタル変革を推進

製造業における人工知能がデジタル変革を推進製造業における人工知能はデジタル変革を可能にし、より効果的...

...