この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。 機械学習を学びたいですか?ここに入門書があります。 ニューラル ネットワーク、ランダム フォレスト、コンピューター ビジョンがすべて含まれています。 この Facebook ソフトウェア エンジニアは、入門用の投稿を作成しました。 基礎知識ゼロの初心者向けに特別に設計されています。 基礎的な理解がある学生も見学に来て理解を深めることもできます。 ニューラルネットワークを例に見てみましょう。 ニューラルネットワーク入門著者は、ニューラル ネットワークは複雑ではないと述べています。
そうですか?まずは見てみましょう。 ニューラル ネットワークの理解は、主にニューロン、ニューラル ネットワークの構築、ニューラル ネットワークのトレーニングの 3 つの部分に分かれています。 ニューロン - ニューラルネットワークの基本単位2 入力ニューロンは次のようになります。 まず、ニューロンは入力 x1 と x2 を受け取り、いくつかの数学演算を実行してから、出力 y を生成します。 ニューロンでは通常、次の 3 つのことが起こります。 1. 各入力に、対応する重みが掛けられます。 2. 重み付けされた入力をすべて加算し、バイアス b を追加します。 3. 活性化関数をインポートし、出力 y を取得します。 一般的に、活性化関数はシグモイド関数(S 型関数とも呼ばれる)を使用します。任意の値(-∞、+∞)を入力すると、最終出力は 0 から 1 の範囲になります。 この点に関して彼は簡単な例も挙げました。 活性化関数をS型関数、2入力ニューロンを例にとり、パラメータw=[0,1] (w1=0、w2=1)、b=4を設定します。 入力: x=[2,3] 出力: y=0.999 これは最も単純なニューラル ネットワーク、つまりフィードフォワード ニューラル ネットワークです。 このため、著者はプロセス全体を Python でも実装しました。
ニューラルネットワークの構築ニューロンが相互に接続されてニューラル ネットワークを形成します。 ニューラル ネットワークは、2 つの入力、2 つのニューロンを持つ隠し層、および 1 つのニューロンを持つ出力層で構成されます。 複数の隠しレイヤーを使用できることに注意してください。たとえば、次のようになります。 前の例の条件を引き続き採用してみましょう。 ニューラル ネットワークには、任意の数のレイヤーと任意の数のニューロンを含めることができます。 以下は Python コードの例です。
ニューラルネットワークのトレーニング - 損失関数の計算私たちが次のようなプロジェクトに取り組んでいるとします。体重と身長から性別を判定します。 体重と身長を入力として、性別を出力として取得します。 男性は 0、女性は 1 に設定され、残りのデータは簡略化されました。 ニューラル ネットワークをトレーニングする前に、まず、そのネットワークのパフォーマンスがどの程度優れているか、さらに優れたパフォーマンスが得られるかどうかを定量化する方法、つまり損失関数が必要です。 ここでは、計算に損失関数の一種である平均二乗誤差を使用します。 予測結果が良くなればなるほど、損失は少なくなります。ニューラル ネットワークをトレーニングする目的は、損失を可能な限り減らすことです。 すべての人が男性であると確信している場合、つまり予測値が 0 である場合、何が起こるでしょうか? Python の例:
ニューラルネットワークのトレーニング - 損失の最小化損失関数を計算した後、損失を最小限に抑える必要があります。これは、ニューラル ネットワークをトレーニングする最終的な目標でもあります。 次の投稿には、微積分を含む多変数計算に関するセクションがあります。 著者は次のように述べている。
簡単にするために、このデータセットには Alice だけが存在すると仮定します。 したがって、損失関数は次のようになります。 次に、その重み w とバイアス b がグラフ上にマークされるため、重み変数は 6 つ、バイアス変数は 3 つあります。 したがって、損失関数は多変量関数として記述されます。 w1 を調整するだけで L が変化する可能性があると想像してください。それで、具体的にどう変わったのでしょうか?これには偏微分を計算する必要があります。 連鎖律は逆導出を実行するために使用され、このプロセスはバックプロパゲーションと呼ばれます。 詳しい計算過程はここには載っていないので、ぜひ彼の個人サイトに行って確認してみてくださいね~(リンクは記事の最後に貼ってあります) 著者は、このプロセスを見るときは急がないようにと親切に注意を促しており、ペンと紙を取り出すと理解しやすくなります。 次に、確率的勾配降下法の最適化アルゴリズムを使用します。式は次のとおりです (w1 を例にとります)。 「学習率」はトレーニングの速度を制御します。大きすぎたり小さすぎたりするのは適切ではありません。 このようにすべての変数を最適化すると、損失関数は徐々に減少し、ニューラル ネットワークを改善できるようになります。 簡単に言えば、トレーニングプロセス全体は次のようになります。 1. データ セットから Alice などのサンプルを選択します。 2. バックプロパゲーションを使用して、すべての変数の偏微分を計算します。 3. 確率的勾配降下法を使用してニューラル ネットワークをトレーニングし、変数を更新します。 4. 手順 1 に戻ります。 ニューラルネットワークの部分については以上です。いかがでしたでしょうか?読んでみてどう思いますか? ニューラルネットワークはかなり優れていると思いますか?他にも学ぶべき概念が待っています! |
<<: 2020年に会話型AIはどのように発展するでしょうか?
大規模言語モデルは、テキストを生成する際にプロンプトワードに大きく依存します。この攻撃技は、プロ...
「自動化」や「人工知能(AI)」などの「技術革新」がビジネスや仕事の本質を変えていることは間違いあり...
スーパーアプリは、より多くの顧客を引き付けるための革新的な戦略です。さらに、多数のサービスを 1 つ...
[51CTO.comより引用] 人工知能時代の到来とともに、商業デザイン分野における芸術と技術の競争...
[[178638]] [51CTO.com クイック翻訳]過去数年間で、民間および商用ドローンへの関...
スペイン紙エル・ムンドのウェブサイトが2月20日に報じたところによると、ソフトウェア、ハードウェア、...
モデルの組み合わせ (ブースティング、バギングなど) と決定木に関連するアルゴリズムは多数あります。...
[[207297]] LTR のエントリーレベルのモデルは線形モデルです。この記事では線形モデルを例...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
LEACH プロトコルについてはあまり知られていないかもしれません。このプロトコルの説明は、低電力適...
10年以上前、テヘラン大学の研究者らは、Surenaと呼ばれる原始的なヒューマノイドロボットを発表し...
最近では、AI テクノロジーがさまざまな業界に大きな影響を与えていることがニュースで頻繁に紹介されて...
2020年は異例の年でした。新型コロナウイルス感染症のパンデミックは多くの経済生活のリズムを乱し、人...
時には、他人のタトゥーを真似されないように隠す必要があることもあります。時々、人々は単に好奇心から、...