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

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

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

ブログ    
ブログ    
ブログ    

推薦する

最新レポート: 従業員の 25% が ChatGPT などの AI ツールに機密データをアップロードしている

新たな調査によると、従業員の15%がChatGPTに会社のデータを頻繁にアップロードしており、そのデ...

マイクロソフトとOpenAIが訴えられた後、アップルはニュース出版社とAIモデルのトレーニング費用の支払いについて交渉している

Appleは、AIモデルのトレーニングと開発のためにニュース資料にアクセスするために、いくつかの国際...

...

AIビッグモデルがインテリジェント交通の未来を切り開く?

2023年の初め、OpenAIが開発したChatGPTの出現により、インターネット業界の微妙なバラ...

畳み込みニューラルネットワークのパフォーマンス最適化

導入畳み込みはニューラル ネットワークのコア計算の 1 つです。コンピューター ビジョンにおける畳み...

ビッグデータと人工知能の関係、総合的な分析

ビッグデータはクラウドコンピューティングを採用PaaS レイヤーの複雑な汎用アプリケーションは、ビッ...

2019 年の Web 開発のトレンド トップ 10

[[279047]] [51CTO.com クイック翻訳] 今日、さまざまな新しいトレンドの出現に...

...

アメリカの医師は新型コロナウイルスと戦うために人工知能をどのように活用しているのか

昨年、新型コロナウイルス感染症のパンデミックが始まったとき、クリーブランド・クリニックの医師で最高研...

MITチームがCOVID-19の早期警告に役立つ可能性のある咳分析AIを開発

無症状感染者の存在により、COVID-19の検出と制御は非常に困難になります。 しかし、MITの研究...

人工知能が防犯カメラの機能を強化している

今日、セキュリティという言葉を聞くと、それは通常、サイバーセキュリティ、特に人工知能に関するものにな...

太陽光発電や風力発電に AI はメリットをもたらすのでしょうか?

太陽光発電と風力発電は急成長しているが、世界の再生可能電力への移行は、気候目標を迅速に達成するにはま...

トレンドにおける危険とチャンス: 生成 AI の黄金期をどう捉えるか?

ChatGPTは今年9月末に音声チャットと画像認識機能を追加しました。テキスト駆動型と比較して、C...

...