機械学習とディープラーニング


11

「機械学習」と「深層学習」という用語の違いに少し戸惑っています。私はそれをグーグル化し、多くの記事を読みましたが、それでも私にはあまり明確ではありません。

Tom Mitchellによる機械学習の既知の定義は次のとおりです。

コンピュータプログラムは、経験から学ぶと言われているEタスクのいくつかのクラスに関してTと性能指標のPのタスクでその性能ならば、Tは、によって測定されるように、P、経験を向上E

犬と猫を自分の飼い猫Tとして分類する画像分類問題を取り上げた場合、この定義から、MLアルゴリズムに犬と猫の画像の束を与えると(経験E)、MLアルゴリズムは次のことを学習できます。新しい画像を犬または猫のいずれかとして区別します(パフォーマンス測定値Pが明確に定義されている場合)。

次にディープラーニングがあります。ディープラーニングは機械学習の一部であり、上記の定義が成り立つことを理解しています。タスクTでのパフォーマンスは、経験Eで向上します。今までは大丈夫。

このブログでは、機械学習とディープラーニングには違いがあると述べています。Adilによる違いは、(従来の)機械学習では機能を手作りする必要があるのに対し、ディープラーニングでは機能を学習することです。次の図は、彼の発言を明らかにしています。

ここに画像の説明を入力してください

(従来の)機械学習では機能を手作りする必要があるという事実に戸惑っています。トムミッチェルによる上記の定義から、これらの機能は経験EとパフォーマンスPから学習されると思います。機械学習で他に何を学ぶことができますか?

ディープラーニングでは、経験から、機能を学び、パフォーマンスを改善するためにそれらが互いにどのように関連しているかを理解します。機械学習では機能を手作りする必要があると結論づけることはできますか?学習されるのは機能の組み合わせです。それとも他に何か不足していますか?


2
これについては、Goodfellow によるDeep Learningブックで非常によく説明されています。最初の章で(はじめに)。
hbaderts 2017年

回答:


4

ヒマンシュライが言ったことに加えて、ディープラーニングはニューラルネットワークの使用を含むサブフィールドです。これらのニューラルネットワークは、レイヤー間の重みを変更することにより、基礎となる分布を学習しようとします。ここで、深層学習を使用した画像認識の場合を考えてみます。ニューラルネットワークモデルはレイヤー間で分割され、これらのレイヤーは重みと呼ばれるリンクで接続されています。トレーニングプロセスが開始すると、これらのレイヤーは重みを調整して各レイヤーがいくつかの特徴を検出しようとします注目すべき重要な点は、エッジ、目、鼻、顔の検出を学習するようにレイヤーに明示的に指示しないことです。モデルはそれ自体を学習します。従来の機械学習モデルとは異なります。


8

機械学習は人工知能のサブフィールドであるため、研究分野として、ディープラーニングは実際には単なる機械学習のサブフィールドです。

1)教師なし特徴学習

概念的には、「従来の」(または「浅い」)機械学習とディープラーニングの最初の主な違いは、教師なし特徴学習です。

ご存じのとおり、「従来の」機械学習モデル(例:SVM、XGBoost ...)を適切にトレーニングするには、適切な前処理と適切な特徴抽出を行って、データから意味のある情報を選択する必要があります。つまり、優れた特徴ベクトルには、異なるラベルのデータポイント間で区別され、同じラベルのデータポイント間で一貫した特徴が含まれています。したがって、機能エンジニアリングは、専門家による手動での機能選択のプロセスです。これは非常に重要ですが、退屈な作業です。

教師なし特徴学習は、モデル自体がトレーニングを通じて特徴を自動的に選択するプロセスです。互いに接続されたレイヤーで編成されたニューラルネットワークのトポロジには、データの低レベルの表現を高レベルの表現にマッピングするという優れた特性があります。したがって、トレーニングを通じて、ネットワークはデータのどの部分が重要でどの部分が重要でないかを「決定」できます。これは、堅牢な機能を手動で選択または設計するのが非常に難しいコンピュータビジョンまたは自然言語処理で特に興味深いものです。

教師なし機能学習、クレジット:Tony Beltramelli (画像クレジット:Tony Beltramelli)

例として、猫の写真を分類したいとします。ディープニューラルネットを使用して、最初のレイヤーによって一連のウェイトにマッピングされる生のピクセル値をフィードできます。次に、これらのウェイトは、最後のレイヤーでいくつかのウェイトが許可されるまで、2番目のレイヤーによって他のウェイトにマッピングされますあなたの問題を表す数字にマッピングされます。(例:この場合、猫を含む画像の確率)

ディープニューラルネットワークは教師なし機能学習を実行できますが、問題をより適切に表すために機能エンジニアリングを自分で行うことを妨げるものではありません。教師なし特徴学習、特徴抽出、特徴エンジニアリングは相互に排他的ではありません!

出典:

2)線形分離可能性

ディープニューラルネットワークは、特徴を線形的に分離可能になるように特徴空間を曲げることにより、いくつかの非線形的に分離可能な問題を解決できます。これも、入力をデータの新しい表現にマッピングするレイヤーで構成されたネットワークトポロジーのおかげで可能です。

隠れ層は、データが線形的に分離できるように表現を学習します。クレジット:Christopher Olah (画像クレジット:Christopher Olah)

出典:http : //colah.github.io/posts/2014-03-NN-Manifolds-Topology/

3)統計的不変性

最後に、ディープニューラルネットワークは、一部のドメインで従来の機械学習アルゴリズムを上回っています。これは、一部のアーキテクチャが統計的不変性を示しているためです(例:畳み込みニューラルネットワークによる空間統計的不変性および再帰型ニューラルネットワークによる時間的統計的不変性)

詳細については、このUdacityビデオを確認してください:https : //www.youtube.com/watch?v= 5PH2Vot-tD4


4

アインシュタインに触発され、「6歳の子供にそれを説明できないと、自分では理解できません。」

上記の答えはすべて非常によく説明されていますが、覚えやすい抽象的な違いを探しているなら、私が知っている最良の答えは次のとおりです。

主な違いは、機械学習はデータをダイジェストするだけであるのに対し、ディープラーニングはデータを生成および拡張できることです。それは予測的であるだけでなく、生成的でもあります。

ソース。もちろん、それだけではありませんが、初心者にとっては混乱しすぎます。


-3

わかりました、このように考えてください。線形回帰やランダムフォレストなどの機械学習アルゴリズムでは、アルゴリズムに一連の機能とターゲットを指定し、コスト関数を最小化しようとするため、新しい機能を学習せず、重みを学習するだけです。これで、ディープラーニングに到達すると、少なくとも1つ(ほとんどの場合はそれ以上)の、設定されたユニット数の非表示レイヤーがあります。これらは、話題になっている機能です。したがって、深層学習アルゴリズムは重みのセットを学習するだけでなく、その過程で、指定した自明なデータの複雑な高レベル機能である非表示単位の値も学習します。したがって、バニラの機械学習を実践している間、アルゴリズムはそれ自体では学習しないため、多くの専門知識が機能を設計する能力にあります。私はあなたの質問に答えてくれるといいのですが。


もう1つの質問:たとえばCNNでは、機能(またはフィルター)は重みと同じではありませんか?
user2835098

いいえ、それらは畳み込み層の重みですが、畳み込みから得られた積、つまり特徴マップが特徴です。
Himanshu Rai 2017

同意しません。非表示の変数は、ランダムフォレストおよびブースティングアルゴリズムにも存在します。さらに、ディープラーニングの機能を設計します。2017年に最も優れた画像認識アルゴリズムの1つで
切り取り領域を作成する
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.