‫前回の動画では､ 分解してみました｡
‫どうしたんだ？
‫私たちがやっていることは､ 基本的にはケリーのシーケンシャルモデルを受け継いでいるだけです｡
‫入力aです｡ k. a 私たちのイメージの犬､ そしてモバイルネットv2 a｡ k. a.
‫今回使用するこのモデルURLは､ その中のパターンを見つけることになる｡
‫そして､ 「おいおい､ mobile v 2と同じ形は嫌だ」ということになる｡
‫むしろ､ 自分たちが持っているラベルの量をユニークなラベルの量で出力するシェイプのサイズに変換したいのです｡
‫では次に､ コンパイルOで何が起こっているのか､ ついでにお話ししましょう｡
‫もし､ この中のどれかを深く掘り下げたいのであれば､ 自分で検索して把握し､ 試してみることをお勧めします｡
‫そのアウトプットは後ほどご紹介する予定です｡
‫そこで､ 実際にコードが動いているところを見ることにします｡
‫でも､ 調べたり試したりするたびに､ たとえ一度ではわからなくても､ 自分で考えてみることは知識を定着させる方法だと思います｡
‫だから､ ここに何かあれば､ もっと調べたいし､ 見つけたい｡
‫臆することなく質問し､ 臆することなく調べ､ 調べる｡
‫今､ ご自身の裏側はどうなっているのでしょうか？
‫モデルコンパイルで何が起こっているのか？
‫これは､ ケアラーの方と一緒にモデルを作っていくときに見えてくるものなので､ ストーリーで説明するのが一番わかりやすいと思うんです｡
‫例えば､ ヒルディセンディングの国際大会に参加したとしましょう｡
‫そうなんです｡
‫坂道を下るのは世界でもトップクラスですね｡
‫そして､ 丘の上に立ち始めたら､ 今度は丘の下に行くのが目標です｡
‫でも､ 目隠しされているのが難点です｡
‫幸いなことに､ 友人のアダムが坂の下に立っていて､ 下り方の指示を叫んでくれている｡
‫そして､ 坂の下には審査員がいて､ 自分の出来栄えを評価してくれるのです｡
‫彼らは､ あなたがどこに行き着くべきかを知っているのです｡
‫だから､ 自分の現状とあるべき姿とを比較するのです｡
‫そして､ その比較が得点につながるわけです｡
‫なるほど｡
‫坂を下りる精度｡
‫ダニエル､ なぜ私がインターナショナル・ヒルディセンディング・チャンピオンシップに参加しているのか､ 不思議に思っているかもしれませんね｡
‫では､ 分解してみます｡
‫そこで登場するのが､ モデルコンパイルです｡
‫最初のうちは､ これが非常にわかりにくく感じられるので､ この用語に変えてみましょう｡
‫だから損失は......損失は丘の高さなんです｡
‫さて､ このモデルの目標は､ 損失を最小にし､ ゼロにすること､ aです｡ k. 坂の下まで行くこと｡
‫つまり､ これはモデルが完璧に学習していることを意味します｡
‫損失は､ モデルがいつ学習しているかを示す指標である｡
‫だから､ スルーされるとき｡
‫学習セットと､ 画像とラベルを比較する｡
‫損失は､ モデルがどの程度推測しているかを示す指標である｡
‫だから､ 学習中に予測をしようとすると､ 損失が大きいほど予測は悪くなる｡
‫つまり､ パターンの学習が悪いモデルほど､ 損失が少ないということです｡
‫パターンを学ぶ､ あなたと同じように｡
‫坂を下るのであれば､ 坂の上の方ほど｡
‫国際ヒルクライム選手権では､ 高ければ高いほど成績が悪くなるんです｡
‫つまり､ 坂の下まで行くことが目標なんですね｡
‫そして､ もし戻ってきたら､ Hillの話の中でオプティマイザーが何であるかを議論しましょう｡
‫つまり､ 坂の下にいる友人のアダムは､ 坂を下りる方法を教えてくれる､ オプティマイザー（最適化者）なのです｡
‫坂道のナビゲーションを教えてくれる方です､ ア｡ k. a. 損失関数を下げる｡
‫それで､ どれくらいの高さにいるんですか？
‫なぜなら､ 彼には何が起こっているのかがわかるからです｡
‫彼はあなたの動きを見ることができます｡
‫つまり､ 彼はあなたがこれまでやってきたことをもとに指示を出しているのです｡
‫そして今､ 彼の名前はアダムです｡
‫お友達の名前がアダムというのは､ アダム・オプティマイザーのことです｡
‫はい､ それは実際にアダムオプティマイザは､ ほとんどのモデルでよく実行される偉大な一般的なオプティマイザと呼ばれています｡
‫だから､ これを見てもらったら､ 行くんです｡
‫アダム・オプティマイザー
‫アダム 一般的な深層学習の最新動向とアダムの最適化の紹介と､ 機械学習のモデルを最適化して行くと｡
‫教えてくれるはずです｡
‫最適化アルゴリズムの種類をもう少しご紹介します｡
‫というわけで､ こんな感じです｡
‫損失関数は､ 丘の上でどれだけ高い位置にいるかということです｡
‫国際ヒル・ディセント・チャンピオンシップに参加しているから､ それを最小限に抑えようとしているのでしょう｡
‫オプティマイザーは､ 一番下のアダムがお友達です｡
‫RMBS propやstochastic gradient descentという別のオプティマイザを使うこともできますが､ そもそも一般的に､
‫Adamはほとんどの問題でかなり優秀なんです｡
‫アダムが坂を下りる方法を教えてくれているわけです｡ 目隠しをしていることを忘れないでください｡
‫初めて学習データを見て､ パターンを学習しようとするモデル､ あるいは目隠しをして初めて坂の下を通ろうとするモデルですね｡
‫そして最後に､ こちらの指標です｡
‫こちらは坂の下の野次馬｡
‫これは､ 坂の下でのパフォーマンスの良し悪しを判断するもので､ チャンピオンシップでの調子を教えてくれるのです｡
‫この場合､ モデルがどれだけ正しい画像ラベルを予測できたかという精度を示しているわけです｡
‫誰？
‫ということで､ かなりの量をこなします｡
‫しかし､ ほとんどのディープラーニングモデルにはこの3つのパーツがあります｡
‫基本的には､ どれもある種の損失関数を持っているはずです｡
‫つまり､ モデルがどれだけうまく推測できているかということで､ オプティマイザー機能を持つことになるわけです｡
‫つまり､ モデルが推測を向上させるのに役立つ関数と､ 学習後の推測を評価する方法である指標です｡
‫これは､ 介護のディープラーニングモデルを構築する際に必要なステップです｡
‫モデルをある種の層として定義し､ そのモデルがどのように学習していくかを定義します｡
‫だから､ その小話にしがみつく｡
‫もし､ 話の内容でわからないことがあったり､ どんな損失関数を使えばいいのか知りたい場合は､
‫What loss function should I use.といった感じで検索してみてください｡
‫ディープラーニングモデルを学習する際の損失関数の選び方｡
‫美しい｡
‫これは素晴らしい資料です｡
‫あるいは､ そうかもしれません｡
‫そこにリソースを置いておく｡
‫失われた機能の選び方
‫しかし､ ほとんどの場合､ どのような問題に対処しているかによります｡
‫つまり､ 2値分類Aなら K. A､ 猫や犬の画像など､ あるものがあるのかないのかを予測するのであれば､
‫活性化関数を変えたいところです｡
‫シグモイドに､ そして損失関数をバイナリクロスエントロピに｡
‫そこで､ これを変更するのです｡
‫バイナリクロスエントロピに
‫しかし､ 今回は多クラスを対象にしているので､ カテゴリー別クロスエントロピーにしています｡ なぜなら､ ここに多クラス分類の活性化､
‫ソフトマックスロス､ カテゴリー別クロスエントロピーが来るからです｡
‫さて､ これは大変なことなので､ 最初から分からなくても気にしないでください｡
‫しかし､ ヒルズの話を思い出してください｡
‫損得勘定を忘れない｡
‫オプティマイザとは何か､ 思い出してみてください｡
‫ただ､ 友達のアダムが坂道の歩き方とマトリックスを教えてくれただけです｡
‫ここでは､ さまざまな指標を使うことができます｡
‫では､ ここで「ケアラーズマトリックス」に行くと｡
‫分類のためのデフォルトのものとして精度を使うことができるいくつかの指標を教えてくれるのですが､
‫私たちは曲線下の面積を手に入れました｡
‫カテゴリカルな精度｡
‫一杯､ メイン｡
‫プレシジョン・リコール
‫だから､ いろいろな選択肢があるんです｡
‫それもリンクしておきますが､ モデルのコンパイルが何をするものなのか､ 一通り確認できたということです｡
‫なぜなら､ ここで起こっていることは､ 「これはモデルに取り込む入力形状だ」ということを示す､
‫もう一つの小さな方法だからです｡
‫そこで､ TensorFlow hubの介助者レイヤーを使っています｡
‫そして､ ここに戻ってくると､ このレイヤーを使う場合は､ 逐次モデルを設定し､ 入力した形状でモデルを構築すると書いてあります｡
‫そして､ モバイルネットV2が学習した画像の大きさなので､ この形になっています｡
‫わかりました｡
‫さて､ 話はこれくらいにしましょう｡
‫モデル作成機能が何をするのかを分解してみました｡
‫何か質問があれば､ 必ず質問と回答かDiscord Chatに残してください｡
‫しかし､ その実態を見てみよう｡
‫まあ､ おそらく実際には次のビデオで､ 何が起こっているのかを手短にまとめて報告することになるでしょう｡
‫しかし､ 次にやりたいことは､ モデルのコールバックをいくつか作成することです｡
‫つまり､ モデルが学習している間､ コールバックはいくつかの関数になり､ モデルがデータのパターンを学習している間にできる､
‫ちょっとした便利なことを実装することになります｡
‫では､ 次のビデオでお会いしましょう｡