私は普通のAIニューロンです

私は普通のAIニューロンです

  [[345868]]

私はAIニューロンです

私はこの世界に生まれたばかりの AI ニューロンです。私にとってすべてがとても新しいです。

私の作品は人体のニューロンに少し似ているので、このように呼ばれています。

人体のニューロンは生物学的信号を伝達することができます。信号が入力されると、ニューロンはそれを処理し、他のニューロンに信号を出力します。そして、その信号は最終的に脳に伝達され、信号の意思決定と処理が完了します。

賢いコンピュータ科学者たちはインスピレーションを受けて、ニューロン関数というコードを発明しました。

私たちの世界では、私はただの普通のメンバーです。私のようなニューロンは何百、何千、あるいは何万もあります。私たちは層状の巨大なニューラルネットワークを形成しています。

すぐに私は隣のワークステーションで働くダバイと親しくなりました。彼は私より早く来て、その場所のことをずっとよく知っていました。

ダバイは、私たちのニューラルネットワークは画像認識のためのAIプログラムだと言いました。犬の写真を入力すれば、それがコーギーなのか、テディベアなのか、柴犬なのか、ハスキーなのかなど、判別することができます。

神経構造

ダバイの指導のもと、私はすぐに仕事のやり方を学びました。

ニューロンと呼んでいますが、その名前は神秘的に聞こえますが、実際はパラメータと戻り値を持つ普通の関数です。普通の関数が持つすべての機能を備えています。

  1. ニューロン(a)を定義します。
  2. w = [...]
  3. b = ...
  4. ...

パラメータ a は配列です。配列内の各要素を a1、a2、a3 などと呼びます。この a を使用して、ニューロンが受信する一連の信号をシミュレートします。

人間のニューロンがどのようにして入力された生物学的信号を処理するのかは分かりませんが、かなり複雑だと思います。しかし、ここでは非常に簡単です。各入力値に特定の重みを設定し、単純な加重合計を実行して、最後にオフセット値を追加します。

また、重みを意味する w という配列もあります。その中の各要素は w1、w2、w3... と呼ばれ、オフセット値はバイアスと呼ばれます。

私が何をするかはお分かりでしょう。渡された a の各要素を w の各要素で乗算し、それらを合計し、最後にオフセット値を次のように追加します。

そういえば、ふと疑問が浮かんだので、ダバイに聞いてみることにしました。

「ダバイ、これらのデータはどこから来たのですか?」

「それは前の層のニューロンによって送信されました。」

「彼らはどこからデータを入手しているのですか?」私は問題の真相を突き止めるために尋ねました。

ダバイは私をドアまで連れて行き、別のエリアを指差してこう言った。「ほら、そこがデータ前処理部門だよ。入力画像からピクセルの色情報を抽出し、それをニューラル ネットワーク部門に渡して分析する役割を担っているんだ。」

「私たちに任せる?それからどうする?」

「私たちのニューラル ネットワークは高度な機械のようなもので、私たちはその部品の 2 つにすぎません。異なる重みの値は、画像上の異なる位置にあるピクセルの関心度を表します。実行が開始され、画像データが供給されると、各ニューロンが動作を開始し、結果をレイヤーごとに中継して、最終的に犬の品種を識別します。」

ニューラルネットワークトレーニング

私たちがチャットをしていると、突然、放送のプロンプト音が鳴り、全員がチャットをやめて自分のワークステーションに戻りました。

[[345872]]

「これは何のためですか?なぜそんなに大ごとなのですか?」私はダバイに尋ねました。

「早く座ってください。訓練が始まります」とダバイは言った。

「訓練?何を訓練するの?」

「私たちが使用する重みとオフセットはどこから来ると思いますか?それらは継続的なトレーニングを通じて得られます。」

私たちが少し言葉を交わす前に、データが届き始めました。以前、Dabai が教えてくれたことによると、入力データにそれぞれの重みを掛けて合計し、最後にバイアスを加えて最終結果を得ました。全体のプロセスは非常に簡単でした。

計算結果を次のニューロン層に渡します。

ダバイはそれを見てすぐに私を止めて言いました。「待ってください!ただ渡すわけにはいきませんよ。」

"ほかに何か?"

ダバイは私の後ろにいる別の男を指差して、「それが活性化関数だ。まずは彼に任せよう」と言いました。

「活性化関数は何をしますか?」私はダバイに尋ねました。

「活性化とは、入力信号の大きさに応じて、それに応じた大きさの出力信号を生成することです。これは、人間のニューロンが神経信号に反応する度合いを模倣しています。針で皮膚を刺すようなものです。力が強くなると、体の痛みが徐々に強くなります。ほぼ同じ原理です。」

私はダバイの説明を聞いて、理解したようにも、よく理解していないようにも頷いた。

その後、他にも活性化関数がいくつかあることを知りました。私がよく扱うのは次のような関数です。

  • シグモイド
  • タン
  • レル
  • 漏れたレル

活性化関数が処理されると、ようやく次のニューロン層に引き渡され、休憩する準備が整います。

席に着くとすぐに、ホールからアナウンスが聞こえてきました。

[[345873]]

すると、また新たなデータが届きました。休む暇もないようで、また慌てて忙しくなりました。

数時間これに忙しく、同じ作業を何万回も繰り返していたのに、ほとんど疲れ果てていました。

損失関数と最適化手法

休憩時間を利用して、私は再びダバイと会話を始めた。

「ダバイ、私たちは何万回も行ったり来たりしたばかりなのに、何をしているんですか?」

大白も息切れしていました。一息ついてこう言いました。「これはネットワークトレーニングといいます。さまざまな犬種の犬の写真を大量に分析することで、適切な重みとオフセット値をトレーニングすることができます。こうして犬種を認識できるようになります。将来、新しい犬の写真が与えられたとき、私たちは学んだ知識を使って犬を区別できるようになります!」

「どうやってこんなトレーニングをするんですか?詳しく教えていただけますか?」私はさらに尋ねました。

「先ほど、放送で重みとオフセット値を更新するように通知され続けているのを見ました。このトレーニングは、ニューロンの各層の重みとオフセット値を常に変更しようとすることで、継続的に最適化し、最も適切な値を見つけることで、犬種の識別において最高の精度を実現できるようにするものです」とダバイ氏は語った。

「修正を試み続けるのですか?ニューロンがこんなにたくさんあるのに、私たちはただ運に頼るしかないのですか?」

ダバイは私に向かって目を丸くして言いました。「ただ盲目的に試すなんて、どうやってできるんだ?それでは永遠に時間がかかる。私たちはこれを、自ら学習できるディープラーニングニューラルネットワークと呼んでいるんだ!」

彼がそう言ったとき、私はさらに混乱しました。「どうやって勉強するんですか?」

「実際は非常に簡単です。まず、重みオフセット値のセットを選択し、画像認識を 1 回実行して、認識結果と実際の結果のギャップの大きさを確認します。ギャップがフィードバックされたら、ギャップが 0 に近づくまで、重みとオフセットを調整してギャップを狭め続けます。このようにして、認識精度は 100% に近づきます。」

「まあ、それは簡単そうに聞こえますが、まだ多くの疑問があります。このギャップをどうやって測定するのですか?具体的には、重量オフセットをどのように調整するのですか?調整はどの程度にすべきですか?」私の小さな頭の中に多くの疑問符が浮かびました。

ダバイは信じられない表情を浮かべた。「お若いのに、なかなかいい質問ですね!ニューラル ネットワークの核となる概念を 3 つ同時に質問したんですね。」

「その3人は誰ですか?早く教えてください。」

ダバイは水を一口飲んで、少し間を置いてから言った。「まず、このギャップをどうやって測ればいいのでしょうか。私たちの部署にはこの仕事の専門家がいます。彼は損失関数を担当しており、特に出力結果と実際の結果のギャップを定量化するために使われています。定量化する方法はたくさんあります。暇なときに彼と話をしてください。」

「それで2番目は?」

「第二に、調整方法には、ニューラルネットワークの中核概念である最適化手法が具体的に関係しています。私たちの部門で最もよく使用される手法は、勾配降下法と呼ばれています。この手法は少し複雑で、現時点では明確に説明できません。おそらく、微分法を使用して損失関数の損失値を小さくする方法を見つけることです」とダバイは辛抱強く説明を続けました。

「では、3番目のコアコンセプトは何ですか?」

「調整範囲について質問したのではありませんか?調整範囲が小さすぎると、トレーニングが遅くなりすぎて、何度もトレーニングする必要があります。調整範囲が大きすぎると、誤って最適値を逃した場合、損失関数の結果が前後に揺れ、収束に失敗します。そのため、学習率と呼ばれる値があり、通常はプログラマが経験に基づいて設定します。」

私がまだダバイの説明に夢中になっていると、再び放送が流れた。

[[345878]]

プログラマーが学習率を修正したようです。元気を出して仕事を続けなければなりません。トレーニング目標にいつ到達できるか本当にわかりません〜

この記事はWeChatのパブリックアカウント「プログラミング技術宇宙」から転載したものです。以下のQRコードからフォローできます。この記事を転載する場合は、Programming Technology Universe の公開アカウントにお問い合わせください。

<<:  人工知能のトレンドが電子商取引業界のビジネスを変える

>>:  アルゴリズム図: スタック内の最小値を見つけるにはどうすればよいでしょうか?

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

推薦する

機械学習のヒント: モデルパラメータとハイパーパラメータの違いをご存知ですか?

[[199395]]導入機械学習におけるモデルパラメータとモデルハイパーパラメータは機能やソースが...

分散コンセンサスアルゴリズムの実装 - Raft アルゴリズム

[[385285]]著者は、Raftアルゴリズムフレームワークraft-coreの独自のJavaバー...

JVM 世代別ガベージコレクションメカニズムとガベージコレクションアルゴリズム

[[433574]] 1. GCとは何かGC (ガベージ コレクション) ガベージ コレクションは、...

AIがタンパク質構造を予測し、サイエンス誌とネイチャー誌の年間技術革新として掲載され、無限の可能性を秘めている

2021 年に AI 分野で最も画期的な賞を授与するとしたら、誰を選びますか? 「サイエンス」と「ネ...

海雲傑迅は人工知能教育分野で総合的なサービスを提供するAI Goを立ち上げようとしている

[51CTO.com オリジナル記事] 今、業界で人気のテクノロジーは何ですか?それは間違いなく人工...

...

海外メディア:マスク氏はxAIがOpenAIに勝つと夢想しているが、わずか11人の研究者に頼るのは難しすぎる

7月13日、イーロン・マスク氏が新たに設立した人工知能企業xAIは、「宇宙を理解する」ことができ、O...

...

アリババ、AI研究所、清華大学が共同でAIに認知能力を与える新しいAIモデルを発表

1月12日、アリババ、AI研究所、清華大学などの共同研究チームが、新たな超大規模認知事前トレーニング...

優秀な AI 技術者が不足しています。学生たちはこの波にまだ追いつくことができるでしょうか?

ディープラーニングは、機械学習の最も重要な分野の 1 つとして、近年急速に発展しています。膨大なデー...

AI応用分野トップ10: AIはかつてないほど優れている

1956 年のダートマス会議で AI が提案されて以来、AI 研究はいくつかの浮き沈みを経験してきま...

...

人工知能は研究をどのように変えているのでしょうか?

人工知能 (AI) は研究プロセスにおいてますます重要な役割を果たしています。 AI ベースのアルゴ...

マルチモーダル LLM 幻覚問題が 30% 減少しました!業界初の「キツツキ」無重力トレーニング法が誕生

大規模なマルチモーダル モデルの「幻覚」問題を解決するために、まだ命令の微調整を使用していますか?例...