詩人のような機械学習: ML の仕組みについての素晴らしい啓示

詩人のような機械学習: ML の仕組みについての素晴らしい啓示

機械学習はデータ内のパターンを使用して物事にラベルを付けます。魔法のように聞こえますが、核となる概念は実は非常にシンプルです。

たとえば、ワインを美味しいかまずいかと分類するなど、物事にラベルを付けることがその一例です。こういったラベルについてはあまり考えずに、美味しいワインを楽しむことを忘れずに。もちろん、お酒が苦手な方はノンアルコール飲料について学ぶこともできます→_→

1. MLの仕組み

[[244069]]

機械学習は魔法ではありません。データがなければ学習できないので、試してみる必要がありました。味見した後、私はそれに「N」というラベルを付けました。これは「nope」の略で、「二度と試さないようにしましょう」という意味です。これが私たちの科学への貢献です。

1. データ

学習には教材が必要です。私が 50 種類のワインを試飲し(科学のためです!)、それを視覚化したと想像してください。それぞれのワインには、製造年、評価、そして私たちが学ぼうとしていた正解が記されていました。Y は「おいしい」、N は「それほどおいしくない」です。

私はワインを試飲し、そのデータをスプレッドシート(​​左)に記録しましたが、右側に示すように情報を表示する方がユーザーフレンドリーであると考えました。

2. アルゴリズム

使用する機械学習アルゴリズムを選択することは、使用したい「レシピ」を選択することに似ています。赤いものと青いものを分けるだけです、いいですか?

線を引けるようになったら、おめでとうございます。「パーセプトロン」と呼ばれる ML アルゴリズムを発明したことになります。まあ、こんなに単純なものに、こんなに派手な名前が付けられているんですね。機械学習の専門用語に怖気付かないでください。多くのものは、実際には名前が示すほど複雑でも印象的でもないのです。

赤と青をどうやって区別しますか?

どのように線を引くつもりですか? おそらくお分かりのように、水平線はあまり賢い解決策ではありません。私たちの目標は、地平線を飾ることではなく、N と Y を分離することです。

機械学習アルゴリズムの目的は、データ内でフェンスを配置する最も適切な場所を選択することであり、これはデータ ポイントの位置によって異なります。では、どうすればいいのでしょうか? 答えは、目的関数を最適化することです。

3. 最適化

最適化全体についてはブログ記事を書くつもりですが、今のところは次のように考えてください。目的関数はボードゲームのスコアリング ルールのようなもので、目的関数を最適化するということは、ゲームをプレイして可能な限り最高のスコアを獲得する方法を見つけることです。

[[244071]]

目的関数(損失関数)は、ボードゲームのスコアリングシステムのようなものです。この写真は、私が大学で最適化問題を解く方法をまだ学んでいなかったことを示しています...

多くの場合、ML ではアメよりもムチを好みます。ポイントはミスに対するペナルティであり、ゲームのルールでは、ミスに対するポイントが少ないほど良いとされています。このため、機械学習では目的関数は「損失関数」と呼ばれ、損失を最小限に抑えることが目標となります。

試してみませんか? 上の分類チャートに戻り、画面上で指を水平に保持し、エラー スコアがゼロになるまで回転させます。

うまくいけば、あなたが見つけた解決策は次のようになります:

まず、画像の一番左端を見てみましょう。大まかに水平線を描いてみましょう。真ん中の線は少し良くなりましたが、まだ完璧ではありません。私は最も右寄りのアプローチが好きです。

4. 人生のスパイス

多様性が好きなら、アルゴリズムも気に入るでしょう。世の中にはたくさんのアルゴリズムが存在し、境界を分割する場所がそれぞれ異なります。

「最適化マニア」は、フェンスを少しずつ回転させるというのは絶対に良い考えではないと言うでしょう。最適な位置に素早く到達するためのより良い方法は数多くあります。研究者の中には、地形(入力によって決まる)がどんなに異常であっても、最短距離で目的の場所に到達するために複数の方法を組み合わせることに多大な努力を払ってきた人もいます。

多様性のもう一つの源は国境の形です。フェンスは直線である必要はなく、アルゴリズムによって使用するフェンスも異なります。

私たちがこれらの複雑な用語を選択するとき、実際にはラベルを分ける境界の形状を選択しているだけです。サンプルを 1 本の対角線で分離しますか、それとも多数の水平/垂直線で分離しますか、それとも柔軟な曲線で分離しますか? 選択できるアルゴリズムは非常に多く、分類境界の形状もさまざまです。

5. 流行のアルゴリズム

さて、機械学習のヒップスターたちは直線を好みません。柔軟な曲線は、機械学習ブームで人気があります(つまり、「ニューラル ネットワーク」ですが、ニューラル ネットワークは存在せず、その名前は半世紀以上前に作られたもので、非常に大きな野心があったため、「ヨガ ネットワーク」または「複数の数学レイヤー」に名前を変更するという私の提案を誰も気に入らないようです)。

[[244072]]

線形アルゴリズムと脳のニューラル ネットワークとの誇張された比較を受け入れるよりも、ニューラル ネットワークをその曲芸能力の観点から考える方がよいでしょう。他の方法は数学的なヨガにはやや及ばない。しかし、無料のものはなく、ニューラル ネットワークにはコストがかかります。したがって、ニューラル ネットワークが完璧なソリューションであると主張する人を信じないでください。

ニューラル ネットワークは「ヨガ ネットワーク」とも呼ばれ、非常に柔軟な境界を提供できるという特別な機能を持っています。

アルゴリズムの専門用語を見れば、入力データを分割するためにどのような形のフェンスが使用されるかがわかります。応用機械学習の愛好家であれば、それらを暗記しなくても問題ありませんが、実際には、できるだけ多くのアルゴリズムにデータを入力し、より有望と思われるアルゴリズムを反復処理する必要があります。プリンは食べるものなので食べましょう〜

[[244073]]

教科書を見ても、すぐに解決策を見つけるのは難しいです。心配しないで。これは正解が 1 つしかないゲームではなく、誰も 1 回で解決策を見つけることはできません。いじったり、試したり、プレイし続けたりする必要があります。そうなると、新しいアルゴリズムを設計する研究者には、1 つの疑問が残ります。それは、「どのように機能するのか?」ということです。 (おそらく、あなたを悩ませているつまらないメロドラマの登場人物と同じくらい、これらの名前も知ることになるでしょう。)

6. モデル

フェンスが設置されると、アルゴリズムは完成し、そこから得られるものは、あなたが望んでいたもの、つまりモデル、または簡単に言えばレシピです。これで、次に新しいワインのボトルを見たときに、コンピューターがデータに基づいて判断を下すための指示ができました。データが青色の領域に該当する場合は、それを青色と呼びます。赤い部分に落ちた場合は、赤と呼びます。

7. 注釈

新しく作成したモデルを「ワイン推奨」の制作に投入すると、年齢とレビュースコアをコンピューターに入力するだけで使用でき、システムが対応する地域を見つけてラベルを出力します。

新しいワインのボトルが 4 本ある場合は、入力データをレシピの赤と青の領域に一致させ、それに応じてラベルを付けるだけです。ほら?簡単でしょ!

うまくいったかどうかはどうやってわかるのでしょうか? 出力をチェックしてください!

大量の新しいデータを実行してシステムを実行し、正常に動作することを確認します。誰がこのアイデアを思いついたかに関係なく、ただそれに従ってください。

2. 結論

以下に、私の別の記事で、シンプルで直感的な要約を示します。

1. 詩人としての機械学習

機械学習についてまだよくわからない場合は、この例えを試してみてください。詩人は、自分の言葉をすべて紙にまとめるための方法 (またはアルゴリズム) を選択します。このアプローチにより、詩のジャンル(または決定境界の形状)が決定されます。これは、3 行の俳句またはソネットになる可能性があります。詩人が作品を完成させると、つまりソネットを文章で埋める最良の方法を見つけると、完成した詩は機械学習のモデルと同等のものになります。

2. MLモデルと従来のコード

機械学習モデルと、プログラマーがコードを記述し、問題を評価してルールを手作業で作成する実践との間には、乗り越えられないギャップはないことを指摘したいと思います。機械学習を非擬人的に説明すると、モデルは概念的には通常のコードと同じであると言えます。

「新しい例が入力されるたびにアルゴリズムを繰り返し実行して決定境界を調整する」というフレーズでは、機械学習をプログラマーの標準的な作業に関連付けることが難しくなります。新しい情報が利用可能になると、人間がコードを調整することもできます。

3. 機械学習はこれだけですか?

はい、機械学習に対するエンジニアリングアプローチの本当に難しい部分は、パッケージをインストールし、粗いデータセットに対して多くの高度な処理を実行することです。これは、データに対して非常に複雑なアルゴリズムを実行することと同じです。次はコード設定の最終的な修正です。「ハイパーパラメータチューニング」という高尚な名前に惑わされないように注意してください。新しいデータでモデルのパフォーマンスを評価し、そのパフォーマンスが非常に優れている場合は、ソリューションを再設計して再トレーニングする必要がある可能性があります。この修正プロセスは、許容できる結果が得られるまで継続する必要があるため、機械学習エンジニアは十分な忍耐力を持つ必要があります。

[[244076]]

機械学習は魔法ではありません。機械学習を使用すると、完全に理解していなくても自動的に動作するコードを作成できます。簡単すぎるとは思わないでください。レバーも単純ですが、地球全体を動かすことができます。

オリジナルリンク: https://hackernoon.com/machine-learning-is-the-emperor-wearing-clothes-59933d12a3cc

[この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  AI 初心者必読 | パラメーターとハイパーパラメーターの違いがまだよくわかりませんか?

>>:  AI が加速的な進化を促進 Qualcomm AI & IoT 開発技術オープンデーが間もなく開催

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

推薦する

人工知能ロボットの開発にはどのプログラミング言語を選択すればよいでしょうか?

この記事では、ロボット開発で使用される最も人気のあるプログラミング言語のトップ10を見ていきます。そ...

...

環境センシング:スマートホームの次のステップ

「スマートホーム」という用語は何年も前から存在しているようですが、業界自体は比較的初期段階にあります...

...

LLM の 3 つの大きな欠点のうちどれをご存知ですか?

科学: 未来の知覚を持つ汎用 AI は、永遠に慈悲深い存在とはほど遠く、個人データをすべて貪り尽くし...

ChatGPT を使用すると、開発と学習の効率が向上するだけでなく、奥さんとの関係にも役立ちますか?

2024年初頭にChatGPTが人気を博して以来、コーディングを支援するさまざまなAIGCツールに...

...

Pytorch モデルのトレーニングを最適化するためのヒント

この記事では、ディープラーニング モデルのトレーニングを改善するために私が個人的に見つけた 4 つの...

...

人工知能によりデータセンターのコストと制御ニーズが増加

人工知能 (AI) はコンピューティングとデータ分析の世界を変えています。機械学習、自然言語処理、コ...

...

IBMは「キーポイント分析」技術でProject Debaterの機能をさらに向上

[51CTO.com 速訳] IBMは、人工知能技術を使って人々の意見を要約することを目指すProj...

CatBoost: XGBoost よりも優れた GBDT アルゴリズム

[[242113]] [51CTO.com クイック翻訳] インターネット アルゴリズムには、推奨シ...

フードデリバリー広告向け大規模ディープラーニングモデルのエンジニアリング実践

著者: Yajie Yingliang、Chen Long 他導入美団のフードデリバリー事業が成長を...

...