この記事は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はどのように発展するでしょうか?
2016年、AppleはiPhoneを11秒で分解できるリサイクルロボット「Liam」を開発したと発...
[[373805]]画像ソース: https://pixabay.com/images/id-577...
人工知能の発展の観点から見ると、GPT シリーズのモデル (ChatGPT や GPT-4 など) ...
[[279043]]ビッグデータダイジェスト制作出典: topbots編纂者:呉帥ある技術カンファ...
[[438791]]この記事はWeChat公式アカウント「地道学院」から転載したもので、著者は地道...
大型モデルの優れた能力は誰の目にも明らかであり、ロボットに統合されれば、ロボットはより賢い脳を持つこ...
2020 年は、公衆衛生、職業生活、経済、そして日常生活のほぼすべての側面にとって特別な年となりまし...
背景今年8月時点で、知乎の登録ユーザー数は2億人を突破した。私たちはスパムの管理において、より大きな...
インダストリー4.0戦略における自動化とロボットのシームレスな統合に対する関心が高まっています。しか...
近年、飛行制御、ナビゲーション、通信などの技術の継続的な発展に伴い、ドローン産業は急速な成長を遂げて...
[[374354]]パーセプトロンは、バイナリ分類タスク用の線形機械学習アルゴリズムです。これは、人...
データと機械学習アルゴリズムから得られる洞察は非常に貴重ですが、ミスは評判、収益、さらには命を奪う可...
今日、AI プログラムは、写真やビデオ内の顔や物体を認識し、音声をリアルタイムで書き起こし、X 線ス...
皆さん、OpenAI は誰でも開発できるカスタム GPT をリリースしたばかりです。そして、中国の大...