この記事を読んで、人工知能に携わる私は、もう

この記事を読んで、人工知能に携わる私は、もう

機械学習とは何ですか?答えるのに 10 秒かかります。

分からない?あなたはまだ人工知能業界で働きたいですか?来て!

聞いてください:機械学習はデータ内のパターンを使用して物事にラベルを付けます。

すごいと思いませんか?

......

さて、ここでやめておきましょう。

[[358690]]

機械学習の核となる概念は実は非常に単純で、恥ずかしくなるほど単純です。

ここでの「気まずい」というのは、誰かがあなたの前で自慢して、機械学習が素晴らしいと思わせようとしている場合、その人は恥ずかしいと感じるべきであるという意味です。なぜ?この「気取り防止」ガイドをご覧ください。

このガイドの著者は、Google の主任意思決定インテリジェンス エンジニアである Cassie Kozyrkov 氏です。彼女は美しいだけでなく、心優しい人でもあります。私は Hacker Noon で人工知能に関連する役立つ記事を頻繁に公開しています。

[[358691]]

このガイドでは、ワインを例として挙げています。彼女はまた、ワインを飲むのが嫌いな人は、お茶など好きな飲み物としてワインを想像することもできると親切に教えてくれました。

さて、これ以上前置きせずに、本題に入りましょう。

機械学習は実際にどのように機能するのでしょうか?

[[358692]]

機械学習は魔法ではなく、データなしで学習することは不可能なので、この例えを完成させるにはワインを飲む必要があります。

データ

学ぶためには献身が必要です。一度に50種類のワインを飲むとどんな感じか想像できます。重要なのは、飲み物を飲み終えていないということ、そしてこの情報を処理して、以下で皆さんに見ていただけるように視覚化する必要があるということです。

ワインの種類ごとに対応する年があり、試飲後に点数を付けて判断します。この判断は、将来人工知能が自ら行えるようになることを期待しています。Y は味が良いことを意味し、N は味が悪いことを意味します。

関連するデータはスプレッドシート(​​左)に記録されていますが、便宜上、すべてのデータを視覚化しました(右)。

アルゴリズム

次は、次のことに移りましょう。赤い部分と青い部分を区別できますか?機械学習とは、このプロセスを完了するためのアルゴリズムを選択することです。選択したアルゴリズムによって、最終的にどのようなモデルが得られるかが決まります。

これを実現するために線を引くことを思いついた方は、おめでとうございます!あなたは機械学習アルゴリズムを発明しました。その名前は…パーセプトロンです。はい、とても壮大で、名前もかっこいいですね。機械学習の「専門用語」に怖気付かないでください。それはたいてい単なるナンセンスです。

しかし、どこで線を引くべきでしょうか?私たちの目標は Y を N から分離することであり、直線を引くことはあまり賢い解決策ではありません。

機械学習アルゴリズムを選択する目的は、境界線を引く最も合理的な場所を見つけることです。これは目的関数を最適化することによって行う必要があります。

最適化

次のように考えることができます。目的関数はボードゲームのルールのようなもので、最適化とは高いスコアが得られるプレイ方法を見つけることです。

[[358693]]

伝統的に、機械学習では、ニンジンよりもムチを好みます。つまり、エラーが記録されます。そのため、機械学習における目的関数は「損失関数」と呼ばれ、損失を最小限に抑えることが目標となります。

自分でプレイしてみませんか?上の画像に戻り、指を使って画面上に線を描き、間違いがなくなるまで Y と N を分けます。同志パーセプター、未来は手の届くところにあると感じますか?

おそらくあなたの解決策は次のようになります:

一番左の結果はまだ試していません。真ん中のものもぴったり合いません。私のお気に入りは一番右のものです。

アルゴリズムは多様であり、アルゴリズム間の最も異なる点の 1 つは、境界線を決定する方法です。

最適化にこだわる人々は、境界線を少しずつ調整するのは賢明ではなく、最適なポイントを見つけるにはもっと良い、より速い方法があると言うでしょう。研究者の中には、データがどれほど複雑であっても、単に最適なカットオフポイントを見つける方法を見つけることに生涯を捧げる人もいます。

アルゴリズムが異なるもう 1 つの側面は、エッジの形状です。境界は必ずしも直線ではありません。アルゴリズムによって境界線の形状は異なります。以下のように表示されます。

トレンドフォロワーのためのアルゴリズム

今日、データ サイエンスの流行に飛びついている人は誰も線を引くことを選択しないでしょう。非常に柔軟で曲線的なラインが彼らの間で非常に人気があります。実際には多くのニューロンを持たないニューラル ネットワーク アルゴリズムを使用します。私はこれを「ヨガ ネットワーク」または「多層数学」と呼ぶことを好みますが、誰もそれを好まないようです。

[[358694]]

さまざまなアルゴリズムによって、データにどのような形の境界線を配置するかが決まります。しかし、応用機械学習の愛好家であれば、その謎めいた名前を思い出せなくても問題ありません。実際には、できるだけ多くのデータをアルゴリズムに入力し、有望と思われるものを繰り返し実行する必要があるだけです。

モデル

境界が描かれると、アルゴリズムは完成し、そこから必要なモデルが得られます。次に新しいワインのボトルを「見せる」と、データに基づいて判断を下せるようになります。

ラベル

新しく作成したモデルを動作させると、コンピューターにワインのヴィンテージと格付けを入力すると、モデルが地域を見つけてラベルを出力します。

それで問題は、それが機能するかどうかをどうやって知るかということです。これがナンセンスかどうかは誰にも分からない。最も直接的な方法は出力を確認することです。

大量の新しいデータでモデルを実行してテストし、引き続き良好なパフォーマンスを発揮することを確認します。実際、これはモデルがアルゴリズムによって考案されたか、プログラマーによって考案されたかに関係なく当てはまります。

結論
以前の別の記事で、私はこのプロセス全体を例え話で説明しました。

詩人と機械学習

この例えが理解できない場合は、次の例えが気に入るかもしれません。詩人は言葉を紙に書き出すための方法 (アルゴリズム) を選択します。この方法によって詩の形式(境界線の形)が決まるのでしょうか、それは俳句でしょうか、それともソネットでしょうか?ソネットを可能な限り最高の形で完成させると、それは詩(モデル)になります。

機械学習モデルと従来のプログラミング

しかし、この方法で得られたモデルは、プログラマーが問題を観察し、いくつかのルールを手動で定式化して書いたコードとあまり変わりません。これら 2 つは概念的には同じです。

機械学習にとって「再トレーニング」がいかに素晴らしいかについて話すのはやめましょう。プログラマーはそこに座って、新しい情報に応じてコードを微調整することもできます。

それだけですか?

はい、ほぼそうです。機械学習エンジニアリングの最も難しい部分は、ソフトウェア パッケージをインストールし、データセットを処理し、その上で制限されたアルゴリズムを実行することです。

次は「ハイパーパラメータの調整」です。騙されないでください。モデルを生成する前にコード設定を延々といじるだけです。

新しいデータを使用してモデルを評価するときに、結果が満足のいくものでない場合は、良い結果が得られるまで何度も繰り返す必要があります。 だからこそ、失敗しても耐えられる忍耐力のある人を雇うことがとても重要なのです。心臓が弱い人なら、おそらく数回のラウンドで血を吐いてしまうでしょう。

[[358697]]

奇跡を期待しているなら、できるだけ早く失望することをお勧めします。機械学習は非常に退屈なプロセスです。しかし、忍耐強くいれば、信じられないほどの成果を上げることができます。思いもよらなかったコードを記述するのに役立ち、言葉では言い表せないコードを自動化することもできます。

最後に、注意事項です。シンプルだからといって嫌いにならないでください。ご存知のとおり、てこも単純ですが、地球全体を動かすことができます。

<<:  2020年が過ぎようとしていますが、これらの新しいテクノロジーがもたらした問題は依然として残っています。

>>:  人工知能とは何ですか?

ブログ    
ブログ    
ブログ    

推薦する

Java における 4 つの基本的な暗号化アルゴリズムの分析

シンプルな Java 暗号化アルゴリズムは次のとおりです。厳密に言えば、BASE64 は暗号化アルゴ...

...

製造業におけるコンピューター ビジョン: 機会と導入のヒント

時計職人の片眼鏡から、絵を描くのに便利な「ルシーダカメラ」まで、職人たちは光学技術を使って感覚を高め...

VGG畳み込みニューラルネットワークモデル分析

1: VGGの紹介とモデル構造VGGはVisual Geometry Groupの略で、オックスフォ...

...

「素晴らしい成果物!」ハードウェア AI パフォーマンス テスト用の Python ライブラリがリリースされました

現在、人工知能技術は急速に発展しており、非常に注目を集めています。しかし、数多くの方法があるにもかか...

...

...

...

オペレーティング システムのプロセス スケジューリング アルゴリズム (CPU 仮想化)

前回の記事では、オペレーティング システムが CPU を仮想化する方法についてすでに説明しました。今...

人工知能と機械学習のための 20 の Python オープンソース プロジェクト

この記事では、Python のトップ AI および機械学習プロジェクトを更新します。 Tensorf...

リアルタイムの洞察を強化: コンピューター ビジョンとエッジ コンピューティングの相乗効果

今日の急速に変化する世界では、最先端技術のシームレスな統合がイノベーションの基盤となっています。その...

Googleの怠け者ツールが登場:AIカンファレンスのアバターがリリース、ワンクリックで要約、質問、スピーチが可能に

会議で苦しめられてきた労働者はついに解放される!先日終了した Google Cloud Next&#...