ERRATA: In slide 55, W_i and W_c are the wrong way around in the definition of a_t.slides: https://mlvu.github.io/lectures/52.Trees.annotated.pdfcourse mater...
slides: https://mlvu.github.io/lectures/61.SequentialModels.annotated.pdfcourse materials: https://mlvu.github.ioIn the last lectures, we will discuss variou...
00:20:00 このセクションでは、UTM を R にできるだけ近づけるために U 行列と M 行列を見つける最適化問題について説明します。これは、二乗誤差法を使用してフロベニウス ノルムを計算することによって行われます。ただし、問題は、評価マトリックスに欠損値が存在することが多いことです。この問題を解決するために、損失関数は、R のすべての要素ではなく、トレーニング セットで評価がわかっている R の要素に対してのみ計算されます。プレゼンターは、この問題を最適化するための 2 つの方法についても説明します。そして勾配降下。勾配降下法はより柔軟で、モデルに簡単に追加できます。
slides: https://mlvu.github.io/lectures/62.Matrices.annotated.pdfcourse materials: https://mlvu.github.ioToday we discuss a variety of models that benefit fr...
slides: https://mlvu.github.io/lectures/71.Reinforcement%20Learning.annotated.pdfcourse materials: https://mlvu.github.ioToday we discuss the most generic ab...
00:20:00 このセクションでは、スピーカーは、複雑なトピックについて話すとき、概念は私たちの頭の中のグラフのようなものですが、それらを説明するときはシーケンスになると説明しています。議論された概念間のより高いレベルの関係を再構築するのを助けるために、スピーカーは検索とモデルのマインドマップを作成します。モデルは、線形回帰、線形分類、ロジスティック回帰などのニューラル ネットワークの特定のインスタンスに分割され、さらに J by Ganz や v AE などのより複雑なモデルに分類されます。スピーカーは、さまざまなタイプの検索方法についても説明します。勾配降下法は最も一般的で確率的勾配降下法であり、ミニバッチ勾配降下法は特定のバリアントです。スピーカーは、ほとんどの場合、ミニバッチ勾配降下法が一般的に使用されていることに注意します。最後に、スピーカーは、機能、インスタンス、およびターゲット値に分割する基本設定や、特定の順序で個別のインスタンスを処理するシーケンス設定など、さまざまな設定とデータの処理方法について説明します。
slides: https://mlvu.github.io/lectures/72.Review.annotated.pdfcourse materials: http://mlvu.github.ioThe final lecture. A review of everything we've learned...
このビデオでは、さまざまなタスクのために画像やビデオからオブジェクトを識別して抽出できる AI モデルである、Segment Anything Model (SAM) を紹介します。 SAM は、110 億の画像と 11 億のマスクの巨大なデータセットでトレーニングされており、さまざまなセグメンテーション タスクで強力なパフォーマンスを発揮します。このビデオでは、ローカル システムで SAM を使用するための手順を順を追って説明しています。これには、必要なパッケージをインストールする方法、トレーニング済みのモデル チェックポイントをダウンロードする方法、Python を使用して画像とビデオのセグメンテーションを実行する方法が含まれます。このビデオでは、SAM を YOLOv5 または YOLOv8 で使用して、対象のオブジェクトの周囲に境界ボックスを作成する方法も示しています。 SAM はアニメーションにも応用できる可能性があります。
00:00:00 このセクションのビデオでは、Segment Anything Model (SAM) を紹介しています。SAM は Meta から最近リリースされた AI モデルで、さまざまなタスクのために画像やビデオからオブジェクトを識別して抽出することができます。 SAM は 110 億の画像と 11 億のマスクでトレーニングされており、さまざまなセグメンテーション タスクで強力なゼロ ショットの一般化を行います。このビデオでは、ユーザーが画像をアップロードして完全な画像に対してセグメンテーションを実行したり、各オブジェクトを個別にカットしたりできるデモを通じて、SAM の使用方法を示しています。ユーザーは、バウンディング ボックスの描画、マスクの追加、マルチマスキングの実行もできます。 SAM はアニメーションにも応用できる可能性があります。このビデオでは、SAM のアーキテクチャ、データ セットの可用性、およびよく寄せられる質問に関する追加情報も提供します。
00:50:00 このセクションでは、動画作成者が YOLOv8 を Flask と統合してリアルタイムのオブジェクト検出 Web アプリケーションを作成する方法を説明します。このビデオでは、フレームのエンコードとイメージのバイトへの変換を示し、続いて個々のフレームをループして検出し、後続のフレームを表示します。ビデオでは、means-type を使用してビジュアル フレームを置き換える方法を紹介していますが、コンテンツ タイプは後続のフレームを表示するために使用されます。このビデオには、ビデオ ファイルが検出用の入力として渡されるデモが含まれており、検出されたオブジェクトの周囲に境界ボックスが作成されます。このシナリオでは、人、自転車、信号機です。このビデオは、次のチュートリアルでライブ Web カメラ フィードの検出について説明し、Fly Fast API を作成することで締めくくられています。
00:55:00 このセクションでは、ライブ Web カメラ フィードで YOLOv8 リアルタイム オブジェクト検出 Web アプリケーションを実行する方法をプレゼンターが実演します。スクリプトでビデオ パスを 0 に変更すると、ライブ Web カメラ フィードでプログラムを実行できます。新しい URL が作成され、Flask アプリケーションにリンクされ、ライブ Web カメラ フィードのリアルタイム オブジェクト検出が可能になります。発表者は、プログラムがライブ フィードから人、自転車、信号機などのオブジェクトを正確に検出できることを示しています。さらに、ビデオ パスはビデオ URL に戻され、プログラムはビデオ内のオブジェクトを検出する能力も示します。
01:00:00 このセクションのビデオ チュートリアルでは、フロントエンド デザインに HTML と CSS を使用し、バックエンド デザインに Flask を使用して、完全な HTML Web ページを作成することに焦点を当てています。 Web アプリは、ホームページ、ビデオ ページ、ライブ Web カメラ フィード ページの 3 つの異なるページで構成されます。ホームページには、さまざまなプロジェクトのサンプル結果を含むヘッダー、コンテンツ、およびフッターがあります。動画ページでは、ユーザーは動画をアップロードし、その動画で YOLOv8 検出を実行できます。ライブ Web カメラ フィード ページにより、ユーザーはライブ Web カメラ フィードで検出を行うことができます。このビデオでは、Flask アプリのドット パイル ファイルと 3 つの HTML ページも紹介しています。
00:15:00 このセクションでは、スピーカーが Trail Line を作成し、データ DQ の概念を実装してオブジェクトを追跡する方法について説明します。 DQ リストを初期化し、検出された各オブジェクトの下部座標を追加します。オブジェクトがフレームから離れると、そのポイントはデータ DQ リストから削除されます。また、クラス検出予測子を作成し、ディープ ソート アルゴリズムを使用して各オブジェクトに一意の ID を割り当て、それらの名前を取得します。 draw-boxes 関数を呼び出して予測を実行します。さらに、ファイルをダウンロードして貼り付け、方向を北、南、東、または西として定義することにより、車両のカウントを実装します。オブジェクトが特定の方向に出入りすると、カウントが増加します。
00:20:00 このセクションでは、講演者が YOLOv8 オブジェクト追跡スクリプトでオブジェクト カウントをどのように実装したかを説明します。彼らは、指定された線を横切る動きに基づいて、出入りするオブジェクトの方向を定義しました。また、出入りするオブジェクトの数を表示し、数を表示する必要があるスペースを設定しました。次にスピーカーは、追跡されたオブジェクトの X 座標と Y 座標を使用して速度を計算するユークリッド距離式を実装することにより、速度推定を追加しました。彼らは、カメラの位置に基づいて動的に行うことができる計算を行うために、メートルあたりのピクセル値を使用しました。スクリプトの出力には、オブジェクトの数と速度が示され、スクリプトが正しく機能していたことが示されました。
レクチャー 10 ツリー モデルとアンサンブル: デシジョン ツリー、AdaBoost、勾配ブースティング (MLVU2019)
10 ツリー モデルとアンサンブル: デシジョン ツリー、AdaBoost、勾配ブースティング (MLVU2019)
ビデオのこの最初の部分では、インスタンス空間をセグメント化し、各セグメントのクラスを選択することによって機能する、分類と回帰に使用される一般的な機械学習モデルであるデシジョン ツリーを紹介します。このビデオでは、情報取得を使用して意思決定ツリーをトレーニングする方法と、プルーニングが過剰適合を軽減する方法についても説明します。講演者は、モデル間の公平性を確保するために、データをトレーニング、検証、およびテスト セットに分割することの重要性を強調しています。さらに、このビデオでは、複数の決定木またはその他のモデルをトレーニングして組み合わせ、高分散や不安定性などの問題に対処するアンサンブル学習について説明しています。ブースティングは、モデルのアンサンブル手法としても導入されています。これには、分類器を順次トレーニングし、データを再重み付けしてアンサンブルを改善することが含まれます。最後に、アンサンブルを改善するために損失関数を最小化する分類器を選択する Adaboost アルゴリズムについて説明します。
ビデオのこの 2 番目の部分では、AdaBoost や勾配ブースティングなど、さまざまなツリー モデルとアンサンブルについて説明します。 AdaBoost は、分類器のパフォーマンスに基づいてデータのインスタンスを重み付けする分類モデルの一般的なブースティング方法です。勾配ブースティングには、定数関数を使用したモデルの初期化、残差の計算、ラベル付けされた残差への新しいモデルの適合、およびアンサンブルへの追加が含まれます。講演者は、勾配ブースティングと AdaBoost の違いを説明し、アンサンブルは結果を混乱させる可能性があるため、研究ではあまり使用されないことを指摘します。さらに、バギングは分散を減らし、ブースティングはバイアスを減らします。
講義 11 シーケンシャル データ: マルコフ モデル、単語埋め込み、および LSTM
11 シーケンシャル データ: マルコフ モデル、単語埋め込み、LSTM
このビデオでは、講演者は、機械学習で遭遇するさまざまなタイプのシーケンシャル データ (時間またはシーケンスで配置された数値または記号データなど) について説明します。彼らは、これらの問題に取り組むためのモデルとして、マルコフモデル、単語埋め込み、および LSTM を導入しています。このビデオでは、特定のものをテストする前に発生したデータの検証とトレーニングの概念を含め、シーケンシャル データを使用したトレーニングと予測のプロセスの概要を説明しています。さらに、スピーカーは、さまざまな長さのシーケンスと時間モデリングの処理方法、および時間による逆伝播を使用した再帰型ニューラル ネットワークのトレーニング プロセスなど、ニューラル ネットワークを使用してシーケンスをモデル化する方法について説明します。最後に、このビデオでは、シーケンスからラベルへの分類の側面について説明します。これは、再帰型ニューラル ネットワークが物事をすぐに忘れてしまう場合に、マルコフ モデルを使用して改善できます。
このビデオでは、マルコフ モデルとその制限、Long Short-Term Memory (LSTM) ネットワークとその利点、テキストと画像の生成に LSTM を使用する方法、教師の強制手法、画像のキャプションなど、シーケンシャル データ処理に関連するさまざまなトピックを取り上げます。講演者は、LSTM 構造とそこに含まれるさまざまなゲートの詳細な説明、およびシェークスピアのテキスト生成や画像キャプションなどのタスクのためにこれらのネットワークからトレーニングおよびサンプリングする方法を提供します。埋め込み層を使用して単語レベルの LSTM を改善することの重要性についても説明し、単純なモデルから LSTM のようなより強力なモデルまで、シーケンス処理に使用できるさまざまな方法についても説明します。
12 のマトリックス モデル: レコメンダー システム、PCA およびグラフ畳み込み
12 のマトリックス モデル: レコメンダー システム、PCA およびグラフ畳み込み
ビデオの最初の部分では、スピーカーはマトリックス モデルと、製品の推奨、ニュース記事、ソーシャル ネットワークに使用できるレコメンダー システムでのそのアプリケーションについて説明します。レコメンダ システムは、明示的および暗黙的なフィードバックとサイド情報に依存しており、適切に設計されていない場合、偽の情報を広めるために操作される可能性があります。行列因数分解は、ユーザーの行動に基づいて評価を予測するための一般的な方法です。UTM を R にできるだけ近づけるために U 行列と M 行列を見つける最適化問題は、二乗誤差法とフロベニウス ノルムの計算によって解決されます。スピーカーは、勾配降下法を使用してこの問題を最適化する方法についても説明し、協調フィルタリングの勾配更新規則について説明します。さらに、スピーカーは、ユーザーと映画のバイアスの制御、暗黙のいいねの使用、サイト情報の組み込みなど、行列分解モデルを改善する 5 つの方法について説明します。最後に、スピーカーは、従来の機械学習設定における行列分解の威力、行列分解における PCA の拡張、およびデータの保存におけるグラフ モデルの有用性について説明します。
ビデオの 2 番目の部分では、ノード分類とリンク予測のためのグラフ畳み込みを含む、レコメンダー システムのさまざまなマトリックス モデルを紹介します。グラフの畳み込みは、隣接行列を元の埋め込みで乗算することによってノードの埋め込みを混合しますが、このアプローチには大きなソーシャル グラフを表現する際の制限があります。従来の検証方法は、レコメンデーション システムで使用される混合機能モデルでは機能しないため、トレーニング セットのラベルのみが保留され、機能は保留されない変換学習が必要です。さらに、時間と評価のデータをモデル化するには、タイムスタンプ データと変換学習を考慮する必要があります。ビデオの最後には、講義の要約と、強化学習に関する次の議論のプレビューが表示されます。
13 強化学習: 方策勾配、Q 学習、AlphaGo、AlphaStar (MLVU2019)
13 強化学習: 方策勾配、Q 学習、AlphaGo、AlphaStar (MLVU2019)
このビデオでは、強化学習とその基本的なコンポーネントを紹介し、ロボットのポールバランスカーや三目並べゲームなどの例について説明しています。講演者は、微分不可能な関数、報酬の受け取りの遅延、クレジット割り当ての問題など、強化学習の課題について詳しく説明します。クレジット割り当ての問題は、ランダム検索、ポリシー勾配、Q ラーニングなどの手法によって対処され、講演者は各アルゴリズム、その利点、および制限について説明します。 Q 学習アルゴリズムについては、大きな数値表を使用して Q 値を表す方法を説明しながら、より詳細に説明します。プレゼンテーションは、ディープ Q ラーニングと AlphaGo が強化学習の分野にどのように革命をもたらしたかについての説明で締めくくられます。
14 レビュー: 誘導バイアス、アルゴリズムバイアス、機械学習の社会的影響 (MLVU2019)
14 レビュー: 誘導バイアス、アルゴリズムバイアス、機械学習の社会的影響 (MLVU2019)
ビデオの最初の部分では、損失関数、深層学習システム、帰納的バイアスとアルゴリズム バイアス、機械学習の未解決の問題など、機械学習のトピックを包括的に確認します。講演者は、データ サイエンス プロセスにおける方法論と実際のユース ケースの重要性を強調し、先延ばしを研究して克服するためのヒントを提供します。スピーカーは、機械学習の概念の理解を深めるための戦略についても説明し、さらに学習するためのリソースを提供します。最後に、このビデオでは、機械学習モデルにおける一般化の問題と、モデルのパフォーマンスを向上させるための帰納的バイアスの重要性が強調されています。
ビデオの 2 番目の部分では、帰納的バイアス、アルゴリズム バイアス、機械学習の社会的影響など、機械学習に関連するいくつかの問題について説明します。帰納的バイアスをニューラル ネットワークに組み込んで、因果関係、構成性、および一般化の問題を解決できます。ただし、このアプローチには、モデル化されていない変数に対するロバスト性の低下などの制限もあります。機械学習モデルがデータの偏りを強化すると、アルゴリズムの偏りが永続する可能性があります。これは、顔認識アルゴリズムが有色人種を認識できない場合や、米国の司法制度で使用されているアルゴリズムが黒人に偏っている場合などに問題になる可能性があります。これらのシステムの責任ある開発は、偏見を永続させず、意思決定プロセスの公平性を促進するために重要です。
セグメント エニシング モデル (SAM) を使用して Python で画像とビデオをセグメント化する |ヨロv5 | YOLOv8 と SAM
セグメント エニシング モデル (SAM) を使用して Python で画像とビデオをセグメント化する |ヨロv5 | YOLOv8 と SAM
このビデオでは、さまざまなタスクのために画像やビデオからオブジェクトを識別して抽出できる AI モデルである、Segment Anything Model (SAM) を紹介します。 SAM は、110 億の画像と 11 億のマスクの巨大なデータセットでトレーニングされており、さまざまなセグメンテーション タスクで強力なパフォーマンスを発揮します。このビデオでは、ローカル システムで SAM を使用するための手順を順を追って説明しています。これには、必要なパッケージをインストールする方法、トレーニング済みのモデル チェックポイントをダウンロードする方法、Python を使用して画像とビデオのセグメンテーションを実行する方法が含まれます。このビデオでは、SAM を YOLOv5 または YOLOv8 で使用して、対象のオブジェクトの周囲に境界ボックスを作成する方法も示しています。 SAM はアニメーションにも応用できる可能性があります。
YOLOv8 コース - YOLOv8 と Flask を使用したリアルタイム オブジェクト検出 Web アプリケーション - Webcam/IP カメラ
YOLOv8 コース - YOLOv8 と Flask を使用したリアルタイム オブジェクト検出 Web アプリケーション - Webcam/IP カメラ
YOLOv8 コースは、YOLOv8 と Flask を使用してリアルタイム オブジェクト検出 Web アプリケーションを作成する方法を視聴者に案内する一連のチュートリアルです。チュートリアルでは、Python や PyCharm などの必要なソフトウェアのインストール、仮想環境の作成、パッケージのインストール、画像や Web カメラでのオブジェクト検出のテストについて説明します。チュートリアルでは、テンソルから整数への出力の変換、検出されたオブジェクトのラベル付け、検出された出力ビデオの保存についても説明します。視聴者は、YOLOv8 を Flask と統合する方法と、ビデオとライブ Web カメラ フィードの両方でリアルタイム オブジェクト検出 Web アプリケーションを実行する方法を示します。
ビデオの 2 番目の部分では、プレゼンターは、個人用保護具検出用のカスタム モデルのトレーニングと推論を紹介するだけでなく、ライブ Web カメラ フィードとビデオでの物体検出のために Flask と YOLOv8 を使用して Web アプリケーションを作成する方法を示します。 Web アプリには、ホームページ、ビデオ ページ、ライブ Web カメラ フィード ページがあり、各ページに CSS スタイルが適用され、プレゼンターはプロジェクトに使用される HTML ファイルと Flask ファイルを確認します。このビデオでは、データセットのインポート、YOLOv8 モデルのトレーニング用の準備、モデルのトレーニング、結果の分析、デモ ビデオでのモデルのテストのプロセスを示します。全体として、このビデオは、リアルタイム オブジェクト検出 Web アプリケーションを開発およびテストするための包括的なチュートリアルを提供します。
プレゼンターは、個人用保護具 (PPE) データセットでトレーニングされた YOLOv8 モデルを使用する Web アプリケーションに加えられた変更についても説明します。変更には、クラス名に基づいてバウンディング ボックスとラベルの四角形に異なる色を割り当てるようにコードを変更し、バウンディング ボックスと四角形が表示されるように信頼スコアを 0.5 より高く設定することが含まれます。プレゼンターは、ビデオとライブ Web カメラ フィードで PPE アイテムの検出に成功したことを示し、コースの終わりを示します。
YOLOv8 と DeepSORT を使用したリアルタイムのオブジェクト追跡 |車両カウント(車両の入出庫)
YOLOv8 と DeepSORT を使用したリアルタイムのオブジェクト追跡 |車両カウント(車両の入出庫)
このビデオでは、YOLOv8 と DeepSORT を使用して高速道路に出入りする車両の数をカウントするリアルタイム オブジェクト トラッキングの実装を示しています。プレゼンターは、GitHub リポジトリのクローン作成、必要なパッケージのインストール、ディレクトリの設定、追跡スクリプトの調査から始める段階的なガイドを提供します。このチュートリアルでは、両端キュー、前処理、非最大回帰、および Deep SORT 関数を使用して、一意の ID を生成し、クラス名を決定する方法について説明します。また、プレゼンターは、画面上の線を使用して車両カウント機能を追加する方法を説明し、車両の軌跡がこの線と交差するたびにカウントが増加します。 UI は、特定の関数を使用して設定されます。最後に、プレゼンターは、スクリプトの現在の出力がラインとの交点を検出し、エリアに出入りする車両をカウントする方法を示します。
YOLOv8 を使用したリアルタイムのオブジェクト セグメンテーションと追跡 |車両計数(入出庫)
YOLOv8 を使用したリアルタイムのオブジェクト セグメンテーションと追跡 |車両計数(入出庫)
このビデオ チュートリアルでは、YOLOv8 とディープ ソート アルゴリズムを使用したリアルタイムのオブジェクト セグメンテーションと追跡の実装に焦点を当てています。具体的には、特定のエリアに出入りするさまざまなサブタイプの車両を数えて区別する方法を示します。このチュートリアルでは、速度の推定、方向の測定、ID とトレイルを使用した各車両の正確なセグメンテーションと追跡など、さまざまな側面について説明します。プレゼンターは、さまざまな IDE でこれを実装するために必要な手順も提供し、Patreon サポーターに最終的なコードを提供します。
YOLOv8 によるオブジェクト追跡: 車両の追跡、カウント (進入と退出)、および速度推定
YOLOv8 によるオブジェクト追跡: 車両の追跡、カウント (進入と退出)、および速度推定
ビデオ チュートリアルでは、YOLOv8 と DeepSORT を使用してオブジェクト トラッキング、車両カウント、速度推定を実装する方法について説明します。プレゼンターは、コードを含む GitHub リポジトリへのリンクを共有し、リポジトリのクローン作成、DeepSORT ファイルのダウンロード、関連ライブラリのインポート、およびオブジェクトを追跡するためのデータ DQ リストの定義のプロセスを順を追って説明します。また、車両の方向を決定し、それに応じてカウントを増やす方法についても説明します。さらに、プレゼンターは、追跡対象の X 座標と Y 座標に基づいてユークリッド距離式を実装することによって車両の速度を推定し、カウント表示用のスペースを設定する方法を示します。最終的に、スクリプトの出力にはオブジェクトの数と速度が表示され、実装が成功したことが示されます。