クラウド コンピューティングの 10 年間のベテランが、ディープラーニング手法をゼロから始める

クラウド コンピューティングの 10 年間のベテランが、ディープラーニング手法をゼロから始める

[[206505]]

人工知能は現在、熱く議論されている業界であり、ディープラーニングは最もホットな、波の頂点に立つ波です。しかし、従来の IT 実践者にとって、人工知能技術はモデル、アルゴリズム、ベクトルでいっぱいで、あまりにもわかりにくく、理解するのが困難です。そこで、この記事の著者は、IT 実務家がディープラーニング技術の特徴を明確に理解できるようにすることを目標に、この入門レベルの科学ポピュラー記事を書きました。読者がこの記事から恩恵を受け、理想の仕事にうまくたどり着けることを願っています。

1. AIに適した時期、場所、人材

業界の成熟は、従事者の努力(人々の調和)だけでなく、全体的な環境と歴史的進歩(適切な時期と場所)にも左右されます。

人工知能技術の爆発的な進歩は単なる技術の進歩ではなく、ソフトウェア、ハードウェア、データの共同の取り組みの結果です。ディープラーニングは AI 技術の最もホットな分野であり、これら 3 つの条件の制約も受けます。

AI ソフトウェアが依存するアルゴリズムは、長年にわたって存在しています。ニューラル ネットワークは 50 年前に提案された技術であり、CNN/RNN などのアルゴリズムは、ほとんどの読者よりも古いものです。 AI技術は、ハードウェアの計算能力と膨大な量のデータ不足により棚上げされてきました。 CPU、GPU、FPGAハードウェアのアップデートにより、ハードウェアの計算能力は数十年で1万倍に拡大し、徐々に解放されてきました。ハードディスクと帯域幅の価格低下と高速化により、20年前は人類全体が所有する高解像度の写真はわずか数枚でしたが、現在では単一企業のデータ量はEBレベルに達することがあります。ビッグデータ技術は構造化されたログの読み書きしかできません。動画や写真の読み取りには AI を使用する必要があります。人間はもはやこれほど多くのカメラを監視することはできません。

AI技術を心の底から理解して初めて、AIを便利なツールとして活用できるようになります。 AI技術は非常に進歩していますが、理論は不明瞭です。主な理由は、業界がまだ発展途上で階層化されていないためです。20年前と同じように、ITエンジニアは包括的なスキルを習得する必要がありましたが、今日の若者は文字セットに注意を払う必要さえありません。

2. 関連性モデル

ディープラーニングには 2 つのステップがあります。まず、生成モデルをトレーニングし、次にそのモデルを使用して現在のタスクを推測します。

例えば、100万枚の写真を使って猫か犬かをマークすると、AIが写真内の各セグメントの特徴を抽出し、猫と犬の認識モデルを生成します。次に、このモデルに猫と犬の検出プログラムを作成するためのインターフェースを提供します。このプログラムに写真を与えるたびに、それが猫である可能性と犬である可能性を教えてくれます。

この認識モデルはプログラム全体の中で最も重要な部分であり、漠然と密閉されたブラックボックスの認識機能と考えることができます。従来はif-then-elseの因果判断をしてプログラムを書いていましたが、画像の特徴には因果関係がなく相関関係だけを見ています。過去の業務経験が新たな認知障害になっています。ブラックボックスとして扱い、直接利用した方が良いです。

次に、モデルのトレーニングと推論の実験手順のスクリーンショットを投稿して、次の 2 つの問題を説明します。

モデルは、お客様の現場データで学習させて初めて作成できます。モデルの学習は、単にソフトウェアを外注して工数をかけただけでは実現できないため、直接的にモデルの学習結果を約束することは困難です。

モデルをトレーニングするプロセスは面倒で時間がかかりますが、習得するのは難しくありません。作業負荷は、オンラインで SQL をデバッグする DBA の作業負荷よりもはるかに少ないです。IT エンジニアは、AI 時代においても依然として重要な役割を果たしています。

3. 実践実験

このセクションは長いです。読者が実験の手順や結果に興味がなく、結論を直接読みたい場合は、このセクションをスキップできます。

この実験は、Nvidia が提供する入門トレーニング コース「DIGITS を使用した ImageClassification - モデルのトレーニング」です。

私たちの実験は非常にシンプルです。6,000 枚の写真を使用して、AI が 0 から 9 までの数字を認識できるようにトレーニングします。

トレーニング サンプル データは、ラベル 0 ~ 9 が付いた 6000 枚の小さな画像で、そのうち 4500 枚がトレーニング (train) に使用され、1500 枚が検証 (val) トレーニング結果に使用されます。

実験データの準備

トレーニング画像は小さくてシンプルで、下のプレビューに示すように、数字が羅列されているだけです。

-- 以下は01のサンプル画像です --

テストに使用した画像は、公式チュートリアルで提供された、白い背景に赤い「2」が描かれた画像です。

-- 次の画像は 02 テスト画像です --

データセットの作成

まず、画像認識用のデータセットを作成する必要があります。データセット ファイルは、「/data/train_small」ディレクトリに配置されます。画像タイプには「グレースケール」、サイズには 28x28 を選択します。その他はすべてデフォルトを選択し、データセット「minidata」の作成を選択します。

-- 次の図は 03 初期データセットです --

以下はデータセットを作成するプロセスです。ファイルは小さく数も少ないため、速度は非常に高速です。高解像度の画像が数千万枚ある場合は、速度が非常に遅くなり、IO を複数のマシンに分散するための分散システムを構築する必要がある場合もあります。

-- 次の図は 04 初期データセットです --

これは完成したデータ セットの縦棒グラフです。マウスを 2 番目の列に置くと、現在「9」とマークされている写真が 466 枚あることがわかります。

-- 次の図は完全なデータセットを作成するための05です --

モデルの作成を開始する

データセットができたので、モデルを作成できます。画像分類モデルの作成を選択します。以前作成した「minidata」データセットを選択し、30 のトレーニング サイクルを入力し、その他のオプションはデフォルトのままにします。

--下の写真は06年新型モデルです--

モデル作成の後半では、ネットワーク構成を選択します。LeNet を選択し、モデルに TestA という名前を付けます。

-- 次の図は 07 Select LeNet です --

このデモでは詳細な設定は行いませんでしたが、実稼働環境では設定ファイルを頻繁に変更する必要があるかもしれません。

-- 次の図は08 LeNetの微調整です --

次に、モデルの生成を開始します。小さなデータセットを使用した単純なタスクの速度は依然として非常に速く、検証精度は非常に高くなります。ただし、タスクやモデルが大きい場合は、数日かかる場合があります。

-- 次の図は、09 から始まるモデル生成を示しています --

モデルが生成されたら、検証精度を見てみましょう。非常に高い精度です。本番環境での精度が低すぎる場合は、モデル作成時のパラメータを微調整する必要があるかもしれません。

-- 次の図は、10 回のトレーニングが完了した後の精度を示しています --

モデルのデバッグ

モデルページを下にドラッグすると、モデルのダウンロードやテストモデルなどのボタンが表示されます。テストモデルを選択し、「白い背景に赤いテキスト 2」をテストに送信します。

-- 次の図は 11 のテストモデルです --

デフォルトでは、エポック #30 をテストします。試しに 10 回実行してみましょう。当初はサーバーの電気代を節約したかったのですが、結局正しく認識される確率はわずか20.3%でした。

-- 下の図は12TestAモデルの10周の結果です --

テストラップ数を25に増やしたところ、精度は20.3%から21.9%に向上しました。

-- 下の図は13TestAモデルの25周の結果です --

モデル全体の上限は30円で、正しい認識結果はわずか21.92%です。ここで付け加えておきますが、認識が間違っているのは、モデリング データが 28 x 28 の白黒画像であり、指定したテスト画像のサイズと色が間違っているためである可能性があります。

-- 下図は14TestAモデルの30周の結果です --

モデルを変更してデバッグを続行する

TestA モデルでは、Clone タスクをクリックできます。これは、同じ構成のモデルを作成して再度実行することを意味します。このボタンは興味深いものです。以前、プログラムのコンパイルに失敗したとき、100,000 回再試行してもまだ失敗しました。なぜ Clone タスクがパネル上の共通ボタンになっているのでしょうか。

-- 次の画像は 15 クローン モデル TestA です --

すると、興味深いことが起こりました。私の「TestA-Clone」が数字 2 を認識する確率は 94.81% でした。

-- 次の図は 16 個のクローン TestA の結果です --

古いモデルを再度クローンしたところ、数字の2を認識する確率は63.4%でした。

-- 次の図は、17 で TestA を再度クローンした結果です --

新しいモデル TestB を作成し、TestA に基づいて再度トレーニングします。

-- 次の図は 18 New TestB です --

TestB のトレーニング結果は、実際にはモデルの初期バージョンよりも悪く、精度は 20.69% です。

-- 次の図は 19TestB のトレーニング結果です --

最悪はありません。ただ、もっと悪いだけです。新しくトレーニングしたモデル TestC を見てください。

-- 次の図は 20TestC トレーニングの失敗を示しています --

このテストでは、TestA-Clone が最適なモデルであり、次に Clone2 が続きます。

-- 次の図は 21 のモデルの結果をまとめたものです --

しかし、これは正しいモデルを見つけたことを意味するのでしょうか? 私はもう一度数字の 2 を書き、特別に黒い背景に白い文字の 28*28 を選択しました。その結果、どのモデルもそれを正確に認識せず、すべて認識できませんでした。

-- 次の画像は 22 です。新しい画像の認識に失敗しました --

第四に、実際の戦闘はモデルを生み出すことができる

この実験でモデルが 94.81% の精度を達成したという事実は嬉しい驚きでしたが、他の画像ではモデルが失敗するだろうと予想されていました。この実験の初期サンプルは数千個に過ぎなかったため、サンプル数が十分に多ければ、過剰適合(つまり、モデルにノイズ機能が含まれる)の可能性は小さくなります。デフォルトのデバッグ オプションをすべて使用しましたが、他の機能項目を追加してモデルをデバッグすると、過小適合(主要な機能が抽出されない)の可能性が減る可能性があります。モデルの使用シナリオを明確に定義しなかったため、トレーニング データ、テスト ファイル、および製品ファイルが同じかどうかは明確ではありませんでした。

まったく同じ構成のモデルでも、モデルを生成するためにモデルをクリックした時間が異なるだけで、同じ画像に対して認識結果が大きく異なることがわかります。これは因果判断ではなく相関計算であることを再度強調します。実験の結論は上で述べたものと同じです。モデルは実際のデータでトレーニングする必要があり、モデルによって生成された結果を推定することはできますが、予測することはできません。私の実験の目的は、AIモデルのトレーニングはソフトウェアのアウトソーシングではないことを皆さんに説明することです。価格に合意するだけで工数見積り結果を計画できるわけではありません。

AI テクノロジーサプライヤーは、顔認識モデル、OCR 認識モデルなどの既成モデルを単純に販売します。しかし、顔のニキビを識別したり、署名が左利きかどうかを識別するなど、顧客がカスタマイズされた要件を持っている場合は、まず技術的なシナリオを明確にしてからデータを準備する必要があります。モデルのトレーニングに1日かかるのか、1か月かかるのかについては、よくわかりません。AIモデルのトレーニングは材料試験のようなものです。ターゲットを発見するには、半年、あるいは10年かかることもあります。

5. ITエンジニアの新たな仕事

前回の記事では2つの点について述べました。2つ目は、モデルのトレーニング作業は難しくないということです。ITエンジニアは比較的簡単にモデルのトレーニング作業を学ぶことができ、その後は実践範囲を拡大し続け、AIの波の中でホットなパイの分け前を得ることができます。

まず、テクノロジーは敷居ではありません。IT エンジニアが理解できる例を挙げてみましょう。Oracle DBA はデータベースのソース コードを読んだことがなく、新しいビジネス シナリオに触れたこともなく、理論的な知識も欠いており、一般的な操作しか実行できません。現在、このプロジェクトは徐々にオンライン化され、オフラインで SQL をデバッグし、最高のパフォーマンス値が得られた時点でログを保存できます。 AI モデルをデバッグする場合、原理とアルゴリズムを理解することで作業の目的が明確になりますが、目的が明確になったからといって目標に近づくことはできても、必ず目標に到達できるとは限りません。

上記の実験によると、次のようなタスクを人間が行う必要があることがわかります。

  1. 顧客の要求に応じて、オリジナルデータの要求が提示されます。これは事業の方向性を考える必要があります。例えば、誰が肥満傾向にあるかを調べたい場合、当然各人の食生活や運動習慣が思い浮かびますが、専門の医師であれば、トランスアミナーゼやコレステロールなどのデータを取得せよと指示するでしょう。
  2. 元のデータは、クリーンアップ、整理、ラベル付けする必要があります。相関関係が見つからないサンプルは、ラベルなしのサンプルではありません。前回の実験では、6,000 枚の写真すべてに 0 ~ 9 の番号が付けられました。モデルをテストして、「2」のラベルが付けられた写真のグループの関連性を調べました。データのクリーニング、整理、ラベル付けの作業は、自動でも手動でも行うことができます。自動で行う場合は、スクリプトを書いたり、ビッグデータを実行したりします。手動で行う場合は、要件を提示して、ポルノ写真をフレーム化するおばさんを 1,500 人募集しますが、エンジニアがフレーム化プロセス全体を指導します。ここでもコツがあります。競合他社のモデルが高すぎる場合や販売されていない場合は、競合他社のパブリッククラウド API インターフェースを直接使用したり、競合他社の主要顧客のログを購入して、競合他社にデータスクリーニングの完了を手伝ってもらったりすることができます。
  3. 上記の実験では、すでに多くの調整可能なオプションを備えた画像分類データセットのみを使用しています。実稼働環境には、画像だけでなく、音声、テキスト、モーション機能などのデータセットも含まれています。データセットの設定が適切かどうか、データセットを再構築する必要があるかどうかを確認するには、複数回のデバッグと長期的な観察が必要です。
  4. 実験では、パラメータをあまり調整せずにモデルを生成するのに 1 分しかかかりませんでした。しかし、実稼働環境ではモデル生成パラメータを頻繁に調整する必要があり、モデルの生成に数時間、場合によっては数日かかることもあります。
  5. 結果の正確性を検証します。柔軟な需要であれば、いくつかのテスト結果を視覚的に確認し、モデルをオンラインにすることができます。ただし、厳格なビジネスの場合は、テストと検証のために10万を超えるサンプルを整理する必要があるかもしれません。ちなみに、モデルのトレーニングに使用したハードウェアは、検証や本番環境での実行には適していない可能性があります。高負荷テストの場合は、ハードウェアの展開を変更する必要があるかもしれません。
  6. モデルには毎日のメンテナンスも必要です。データセットが更新されるたびに、モデルを定期的に更新する必要があるかもしれません。また、モデルにビジネスを脅かす致命的な誤判断があることが判明する可能性もあります。これらはすべて、タイムリーに処理する必要があります。

6. その他の細かい点

最後に、個人的な意見をいくつか述べます。これはランダムな考えです。議論のプロセスは書かずに、議論だけを書きます。

  1. 現時点では AI 環境を構築して使用することは困難ですが、ソフトウェアが改良され、この問題は解決されます。3 年前は、クラウド コンピューティング プラットフォームの導入と保守は困難でしたが、現在では、ワンクリックで導入し、UI で保守できるクラウド プラットフォーム ソリューションがどこにでもあります。
  2. ディープラーニングの技術分野では、膨大なデータと計算能力が必要です。人間の脳はAIほど愚かではありません。おそらく、将来的にはAIの分野でディープラーニングに代わる新しい技術が登場するでしょう。
  3. AI企業を設立するにはデータと計算能力が必要なため、他のスタートアップ企業よりも難しいです。現在、有名なAIスタートアップ企業は、1つの分野で3年以上活動しており、ユーザーにデータの提供を依頼して、1つの典型的なモデルを作成しているだけです。巨大企業が AI に取り組むのも容易ではありません。人材を採用したとしても、AI プロジェクトは立ち上げに時間がかかります。データのクリーニングには体力だけでなく時間もかかります。
  4. ディープラーニングの計算プロセスは制御されておらず、計算結果は人間が検証する必要があるため、法的証拠として使用することはできません。 AIが容疑者を発見すると、警察は直ちに行動を起こすが、その作成者ですらAIが次にどのように囲碁を打つかは説明できない。赤ちゃんが世界地図をおしっこで出すことも、誰かがランダムに正しい銀行カードのパスワードを入力することも、AI が株式市場が急騰する確率が 99.99% であると予測することもできますが、これらは独立した責任の証拠として使用することはできません。
  5. AIには大量のデータが必要です。中国はデータラベリングができる人材が多く、コストも安いという点で米国に比べて独自の優位性を持っています。しかし、モデルの実践となると、中国の人件費は低すぎるため、AIの商業利用には限界があります。
  6. AI が人類を滅ぼすのではないかと慌てないでください。人類に脅威を与える AI は間違いなく欠陥のある AI ですが、人類はヒトラーのような欠陥のある指導者を選んだこともあります。 AIが失業や社会不安を引き起こすなどと説教するのはやめましょう。星占いについてだけ話しましょう。なぜ仕事を失うことを心配しなくていいのでしょうか?
  7. AIの精度は低いように見えますが、実は非常に高いものです。例えば、2人の会話でAIが単語の80%を理解できれば、それはすでに良いことです。しかし、AIが単語の85%しか理解できない場合、AIは人間を上回っています。ご存知のとおり、単語の順序を逆にしても読み方には影響しません。

<<:  顔認識を完了するための3行のPythonコード

>>:  ビッグデータが急成長し、我が国のクラウドコンピューティングは「黄金の窓」の時代を迎えている

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

推薦する

...

...

...

...

トランスフォーマーベースの効率的で低遅延のストリーミング音声認識モデル

シナリオの観点から、音声認識はストリーミング音声認識と非ストリーミング音声認識に分けられます。非スト...

...

AIが史上初の小説を創った。読んでびっくりしました。

[[248937]] AI が書いた初の小説が登場。予想通り奇妙な内容小説家ロス・グッドウィンは、...

2020 年の機械学習スタートアップ トップ 10

[[326722]] [51CTO.com クイック翻訳] データ、テクノロジー、人材の統合により...

スマートホームのヒューマンマシンインターフェース (HMI) におけるエッジ AI

消費者は、利便性、安全性、ユーザーエクスペリエンスを向上させる進歩を飽くなき欲求で求めています。ヒュ...

今回はホーキングの言うことを聞かなかった!人工知能が人間に取って代わる、これが科学が進む道だ

科学の分野では、人類の科学技術の発展のスピードは実に速く、人工知能と比較すると、すでに基本的に活用で...

世界で最も美しいソートアルゴリズム!

[[248668]]早速、世界で最も「美しい」ソートアルゴリズムについてお話ししましょう。 voi...

...

4大産業用ロボット産業の市場分析と産業用ロボットの中長期的発展

中国製造2025の状況下で、イノベーションと起業家精神を奨励し、経済を高品質発展へと転換する中、中国...

...

産業インテリジェンスは「新しいインフラ」の下で非常に人気がありますが、まだ多くの問題があります

「新しいインフラ」が流行っています。これらは5G、人工知能、モノのインターネットなどの情報デジタルイ...