Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

ニューラルネットワークの必要性を理解する

学習の目的

この単元を完了すると、次のことができるようになります。

  • 加重入力のみを考慮した AI モデルの限界を説明する。
  • 機械学習におけるニューラルネットワークの役割を説明する。
  • ニューラルネットワークの主要コンポーネントを定義する。
  • ニューラルネットワークの複雑さがどのように増すかを説明し、深層学習を定義する。
  • トレーニングによって決定された加重とバイアスを解釈することがいかに不可能であるかを説明する。

Trailcast

このモジュールの音声録音をお聞きになりたい場合は、下記のプレーヤーを使用してください。この録音を聞き終わったら、必ず各単元に戻り、リソースを確認して関連付けられている評価を完了してください。

ニューラルネットワークの必要性

ニューラルネットワークを抜きにして、AI を語ることはできません。ニューラルネットワークは AI モデルをトレーニングするための重要なツールであるため、ニューラルネットワークがどのようなものかをある程度理解しておくことをお勧めします。ただし、詳しく見ていく前に、そもそもなぜニューラルネットワークが必要なのかについてまず説明しましょう。

前の単元では、各入力の重要度の加重を推測および確認させることで、AI モデルをトレーニングできることを学習しました。とはいえ、牛乳購入の例はやはり単純化されすぎていました。このモデルだと、かなり大まかな予想になります。その理由を理解するために、2 つのシナリオを検討してみましょう。

  1. 火曜日の夕方、雨が降っています。濡れたくないため、あなたは (および、あなたのような他の多くの人も) 買い物は明日にすることにします。このシナリオでは、雨が重要な要素になっています。
  2. 土曜日の午後、雨が降っています。多くの人にとって、この時間が一週間のうち買い物に行ける唯一の時間です。そのため、雨でも晴れでも店は混雑します。このシナリオでは、雨ではそれほど大きな違いは生じません。

問題は、オリジナルのモデルでは雨に 1 つの加重しか割り当てることができないということですが、それ以上に複雑であることもわかっています。ソリューションはありますが、まずは 2 つのシナリオを 2 つの別々のグラフで表してみましょう。この場合も、線の太さが重要度を示しています。1 つ目では、「週末」と「時間」が細く、「雨」が太くなっています。2 つ目では、「週末」が太く、「時間」と「雨」が細くなっています。

それぞれの「週末」、「時間」、「雨」が別々の予想に接続されている 2 つの図。(グレー、青、黄色)

人は賢く、また牛乳を買った経験もあるため、この 2 つのシナリオが重要であることがわかっています。ただし、牛乳の購入について学び始めたばかりのコンピューターは、まだ何も知らず、「週末、夕方、雨」や「平日、朝、晴れ」など、多くのシナリオも考慮しなければなりません。場合によっては、グラフが 2 つではなく、8 つの方が遭遇するシナリオの種類をより適切に表すことができます。

それぞれにある 3 つのノードが 1 つのノードに接続されている、よく似た 8 つのグラフ。

よく似たグラフがたくさんありますね。3 つの入力は常に「週末」「時間」「雨」を表しているため、重ねることができます。出力を移動して重ならないようにすると、次のような組み合わされたグラフになります。

片側に 3 つのノード、反対側に 8 つのノードがあるグラフ。線で接続されているすべてのノード。

各シナリオの重要度は、特定の入力によって決まりますが、重要度を把握するだけではまだ不十分です。各シナリオでは、それぞれ独自の方法で最終的な予想に影響を与える必要があります。

たとえば、「週末、午後、晴れ」の牛乳購入にはもっと時間がかかるはずです。そこで、+5 の調整を行いましょう。予想を計算すると、結果の数値は大きくなります。ついでに、平日の午前中に雨が降っているというシナリオでは、その時間帯の牛乳購入が最も短時間で済むことがわかっているため、-4 の調整をしてみましょう。

各シナリオには、バイアスと呼ばれる独自の調整が加えられます。この場合、バイアスはより正確な予想を得るのに役立つため有益です。各シナリオのバイアスを含めてグラフを再描画してみましょう。

片側に 3 つのノード、反対側に 8 つのノード (それぞれに正または負の数が示されている) があるグラフ。線で接続されているすべてのノード。

では、この 8 つのシナリオとそのバイアスをどうすればよいでしょうか? もう少し高度な演算を使用すれば、それを組み合わせて最終的な予想を求めることができます。一部のシナリオは他のシナリオよりも影響力が大きいため、ご想像のとおり、より多くの加重が必要になります。グラフを更新すると、シナリオと最終的な予想のつながりの強さを異なる太さで示すことができます。

左側に 3 つのノード、中央に 8 つのノード、右側に 1 つのノードがあるグラフ。左側から中央、および中央から右側に接続された線。

これが新しいモデルです。つながりが増えたことで、より適切な予想が行えるでしょう。加重とバイアスに基づいたこのつながりの網はニューラルネットワークの一例です。このように呼ばれているのは、経験 (データ) によって構築された接続が脳内のニューロンの接続方法に似ているためです。

シナリオという単語は、要素の一意の組み合わせを初心者に説明するのに適しています。ただし、この概念には本来、ノードという単語を使用すべきであり、AI の専門家が使用しているため、今後はこれに合わせます。

ニューラルネットワークへの複雑さの追加

この新しい牛乳購入モデルは、ニューラルネットワークの非常に基本的な例です。実際には、かなり複雑になります。特定のタスクでより適切な結果を得るために、研究者がニューラルネットワークを設定する方法をいくつか詳しく見てみましょう。

まず、なぜ入力と出力の間に 8 つのノードを選択したのかと疑問に思われるかもしれません。実はこの数には柔軟性があります。ノードがまったくないと、大まかな予想になることがわかっています。同じように、ノード数が少なすぎると、モデル化しようとしているシステムのニュアンスをすべて捉えることができない可能性があります。逆に、ノードが多すぎるのも問題です。コンピューターに必要以上の計算をさせたくはありません。そのため、ノード数には最小の労力で適切な結果が得られる妥当な数があります。適切な数を選択することは、優れたニューラルネットワークを設計することの一部なのです。

人工のニューラルネットワークを人間独自の有機的なニューラルネットワークに近づけるためにできることは、他にもあります。これは、明らかに関連性のない 2 つの事柄の間につながりを見つけるために、私たちが頭の中で頻繁に行う考えを巡らせる方法と関係があります。最も優れたインサイトのいくつかは、何度も考えを巡らせることで得られます。では、もっと考えを巡らせることが可能なニューラルネットワークを作成できたらどうでしょうか? やってみましょう。そのためには、ノードをレイヤーとして追加し、各ノードを隣接するノードに接続します。

入力と出力の間にノードの 2 つのレイヤーがあるニューラルネットワークの図。

データに隠された意味を探り出すためにさらにレイヤーを追加して AI をトレーニングすることは、深層学習と呼ばれます。豊富なコンピューティング機能を利用できるため、多くのニューラルネットワークは複数のレイヤーを備えるように設計されています。この場合も、最適なレイヤー数は、必要な計算回数と生成される結果の質とのバランスです。

暗算を超えたニューラルネットワークの演算

では、その計算について見ていきましょう。ここまで、ニューラルネットワークをトレーニングする際の演算部分について取り上げてきましたが、これにはいくつかの理由があります。第 1 に、演算は実に複雑で高速になります。たとえば、以下はニューラルネットワークに関する研究論文の抜粋です。

ニューラルネットワークに関するかなり専門的な研究論文のスクリーンショット

本当に難解ですね。

第 2 に、正確な演算は、ニューラルネットワークのトレーニング対象となる実行するタスクの種類によって異なってきます。第 3 に、さまざまなモデルのトレーニングに何が効果的かを理解した上で、新しい研究論文が発表されるたびに演算が更新されます。

そのため、ニューラルネットワークの設計では、ノードの数、レイヤーの数、トレーニング対象のタスクに適した演算を選択します。モデルアーキテクチャの準備ができたら、この優れた演算をすべて使用して、コンピューターに推測と確認ルーチンを実行させる必要があります。最終的には、適切な予想を行うための最適な加重とバイアスが見つけ出されます。

また、これにより、人工のニューラルネットワークの少し不安な点も明らかになります。ベテランの人材スカウトが、次の偉大な野球選手を探しているところを想像してください。「選手を見ればわかるのもだ」と言っているとしても、どうやってわかるのか説明できません。ただわかるのです。同じように、ニューラルネットワークもある要素がなぜ重要なのかを説明することはできません。確かに、それぞれの加重やバイアスに設定された値を見ることはできますが、何重にもつながった結果である数値の関連性はわかりません。

人材スカウトの頭の中がブラックボックスであるように、ニューラルネットワークもブラックボックスなのです。私たちは入力と出力の間にあるレイヤーを観察しないため、このレイヤーは隠れレイヤーと呼ばれます。

まとめ

要約すると、ニューラルネットワークは、ノード、レイヤー、加重、バイアス、多数の演算の組み合わせです。このすべてが、人間独自の有機的なニューラルネットワークを模倣しています。それぞれのニューラルネットワークは、特定のタスクのために入念に調整されています。雨を予測するのが得意である場合も、植物を分類する場合も、高速道路で車が常に車線の中央を走行するようにする場合もあります。どのようなタスクであれ、ニューラルネットワークは AI をマジックのように思わせることに大きく関わっています。これで、そのトリックがどうなっているかを少し理解できました。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む