質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

2回答

2137閲覧

deep learning(深層学習)の線形分類能力

oookabe

総合スコア126

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

1クリップ

投稿2018/02/22 09:38

編集2018/02/23 02:55

お世話になっております。

自分の感覚では多くの(?)評判の良い分類器(Eg., randomforest)は複雑な「非線型」分類問題に対してかなり良い分類結果を出してくれるが、純粋な線形分類問題に対して、でたらめな分類境界を生成してしまいます。
そのためでしょうか、SVMも線形分類専用のデザインをまで用意しています。

さて、難しい質問ですみませんが:

今時のスター、deep learningって本当にまっすぐ一直線的な分類境界線を生成できるのでしょうか。
(勿論本質的にまっすぐな直線状の分類境界線が存在する分類問題に対して)

------質問の背景-----
自分の印象としてrandom forestという評判の高い非線型分類器は
線形問題に対する汎化能力が非常に貧弱で、本質的な線形分類問題に対してクラス境界線を綺麗に一本の直線にしてくれれば良かったのに、ごちゃごちゃ乱麻状になっちゃうんですーーー「細かすぎ」というか**「過学習」**というでしょうね。
なので、DNNも同じ類ではないかという疑問です。
特徴空間隈なく訓練サンプルで埋め尽くすことは現実に不可能ですので、
その方法自身の賢さに期待するのは当然でしょう。

なので、聞きたいのはDNNって本当に精確な汎化機能を有するかどうか=
典型的な例として、理想な直線境界線や滑らかな曲線を出せるかどうかということですね。

例えば、SVM系の分類器の境界線は精度(細かさ)を保ちながら、滑らかで単値性の高い分類境界線を出力します。
Q : DNNってこんな特長を持っているのでしょうか。

どうぞ宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

https://teratail.com/questions/114276

どのようなものを想定しているのか不明ですが、
元は線形の関数系なのに非線形の分類ができることが「DeepLearning」のすごいところであって、
元はただの線形分類ですよ。

もちろん、必ず「Deep」のネットワークしか許さない縛りプレイなら学習は難しいですが。

投稿2018/02/22 11:07

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oookabe

2018/02/22 15:08

お返答有難うございます。 原始的な分類器は線形的なものが多いかもしれませんが、気になるのはDNNのような「高級な分類器」は、返って精確に「線形分類」をできなくなるのではと思いますが。
mkgrei

2018/02/22 15:42

おっしゃるとおりです。 いつでもDNNさえすれば、他のいかなるモデルよりも良いものがあられるわけではありません。 DNNありきでとにかくDNNでいろんな問題を解きたいわけではありません。 DNNは非構造データの類で最もその力を発揮します。 単純な線形モデルでは表現できない問題をなんとかしてもらいたいという期待が背景にあります。 また、パラメータを学習するとても優れた方法としても知られています。 パラメータ・教師データともに膨大な場合に有力な傾向があります。 更に、本質的に線形な問題に対して、その位相空間を埋め尽くすような教師データを用意することができれば、Deepであってもその「線形性」を学習できると思います。
mkgrei

2018/02/22 16:20

それとも、 y = ax^2 + bx + c は y = 2x を説明できるかどうかという疑問でしょうか。
oookabe

2018/02/23 15:23 編集

ご教授有難うございます。 そうですね。本来y = 2xのような分類境界線出してくれれば良いのに、わざわざ高次関数でfitting....。 今のDNNにはあまり知識ないが、random forestという評判の高い非線型分類器に関する印象を持っております。それは線形問題に対して汎化能力が非常に貧弱で、クラス境界線が綺麗に一本直線にしてくれれば良かったのに、ごちゃごちゃ乱麻状になっちゃうんですーーー「細かすぎ」というか「過学習」というでしょうね。 なので、DNNも同じ類ではないかと疑問です。 特徴空間隈なく訓練サンプルで埋め尽くすことは現実に不可能ですので、 その方法自身の賢さに期待するのは当然でしょう。 なので、聞きたいのはDNNって本当に精確な汎化機能を有するかどうか= 典型的な例として、理想な直線境界線を出せるかどうかということですね。 滑らかな楕円線でも良いですけれども。 例えば、SVM系の分類器の境界線は精度(細かさ)を保ちながら、非常にはっきりした滑らかで単値性の高い分類境界線を出力します。 Q : DNNってこんな特長を持っているのでしょうか。 どうぞ宜しくお願いします。
mkgrei

2018/02/23 05:22

A.持っています。 数学的にはDNNで層を増やしたものは層の少ないものを包含しています。 ですので、ランダムフォレストのように複雑な境界を持たざるを得ないことはありません。 一層のネットワークはそれに等価変換層を無限個付け加えたネットワークと等価です。 等価変換層は消せるので、一層で表します。 理論上どうであるかと、それをうまく学習できるかは別問題です。 層を増やしても、後半の重みを固定すれば学習できます。 それはもはや深くないネットワークを学習を取り扱っていることと等価です。 汎化性能があるかどうかはwell-definedな疑問ではありません。 入力に対して一つの値が出てきますが、ベインズ統計でちゃんと取り扱うと、曖昧さを持つことの方が自明です。 その曖昧さを消すにはサンプリングを増やすほかありえません。 それか事前にモデルの関数系がわかる場合です。
mkgrei

2018/02/23 05:55

分類問題は滑らかでない目的関数を持つのでDNNは他の手法と比べて優越性を理論的には持つという結論でしょうか?
退会済みユーザー

退会済みユーザー

2018/02/23 06:18

うーん、分類問題全てで優越しているわけではなく、真の関数(p. 7を参照)が非滑らかな場合にDNNが他の手法を優越すると理解しています(p. 30より)。これを逆に言うと、他の手法では性能が出ずにDNNでは性能が出る、と言った場合には、データを生成する関数が非滑らかだから(p. 38)という要因が考えられることを主張していると思います。
mkgrei

2018/02/23 08:25

少々飛躍がありますが、分類問題は分類境界で不連続性を持っているものと考えました。 例示している話では回帰問題を取り扱っているものと捉えました。 結局、区分的滑らかな関数を近似するのに、滑らかな構造しか持たない他のモデルでは表現するのに大量のパラメータが必要なのに対して、DNNの活性化関数が非連続性を持つので、優越性があると書いてあるように読みました。
退会済みユーザー

退会済みユーザー

2018/02/23 08:52

すいません、私の理解が不足してました。初めにmkgreiさんが指摘していた点があっているように思います。目的関数が指示関数のような不連続な構造を表現できる点で優越する、ということですかね。結局~のところはその通りだと思います。
退会済みユーザー

退会済みユーザー

2018/02/23 08:54

先の返答では、データの非滑らかと目的関数の非滑らかを取り違えていた気がします。ご容赦ください。
mkgrei

2018/02/23 14:47

いえいえ、最新の研究成果へのリンクをありがとうございます。 完全に理解するのは難しかったのですが、おもしろく読ませていただきました。 この業界はこつこつと着実に進展していますね。
oookabe

2018/02/23 15:21 編集

貴重なご議論有難うございます! 自分はこう思っていますけれども、間違ったら、是非ご指摘いただきたいのです。 精確&滑らかな「関数推定」=精確&滑らかな「補間処理」=精確&滑らかなクラス境界線 三者の本質はともに既知データに対する「補間処理」です。 訓練データで「汎化性」を得るのは実質的に補間ですね。 上述は分類器が持つ優れる機能の側面から言っているのですけれども、 もし、対象はそもそも滑らな関数ではなければ、「滑らかな推定」は無意味になります。 同様に、本質的に滑らかな境界線で分類できないクラス同士に対して無理矢理に「滑らかな」境界線を求めても意味がありません。ただ、実際よく遭遇するのは逆のケースです。
oookabe

2018/02/23 16:31 編集

https://www.slideshare.net/masaakiimaizumi1/ss-87972719 <<深層学習による非滑らかな関数の推定>> 「なぜDNNが他の手法より高性能なのか 一要因:データ生成する関数が非滑らかだから」 毒を持って毒を克すというやり方ですね。 でも、DNNは滑らかな関数に対してもうまく能率よくfittingできるのはどう解釈するのでしょうか。 要は「非」滑らかな関数はどんな関数に対してもfitting能率が良いというのでしょうか。 ーーーーーーーーー理論根拠は不明です。 実際、データの基本成分sin,cosは超滑らかな関数で、データ表現の能率が悪良いと思われたら通常そうでもない==メイン周波数成分で表現すれば十分ですね。 もっと能率の良い表現として、wavelet解析があります。waveletで信号(関数)を表現する場合, wavelet変換係数が少なくてもDNNのnet係数量より少ないのです。 とにかくどの種類のwaveletも皆滑らかなで、「滑らかでないほうが良い」と聞いたことはありません。 ★★ DNNの本質は多量の要素関数activation functionの線形組み合わせだと思います。 ★★ これは信号・関数に対する異なるsacle上のwavelet分解と合成と本質的に同じではと思います。 ↑ あくまでも個人的な「直感」ですので、反論を期待します。 あるいは数学才能のある方が証明してくれれば嬉しいですね。
mkgrei

2018/02/23 19:17

逆に伺うとすれば、機械学習は補間以外だと何が考えられるのでしょうか。 今、目的関数に対して滑らかな関数の話をしています。 境界線が滑らかかどうかについての議論はありません。 --- >でも、DNNは滑らかな関数に対してもうまく能率よくfittingできるのはどう解釈するのでしょうか。 滑らかな関数に対してはDNNは他の手法と同じ下限を持つので、同じようにうまく学習を行うことが理論的に可能だとスライドに書いてあります。 (下限に到達できるのかについての言及はありません。) >要は「非」滑らかな関数はどんな関数に対してもfitting能率が良いというのでしょうか。 これは対偶ではありません。 センター試験で満点取ることが可能であることと誰かが実際取ることは同値ではありません。 今言っているのは、Aさんが最高で800点取れる実力を持っていること、Bさんが最高で700点取れる実力を持っていることであって、Aさんは600点とっても良いですし、その時Bさんが650点取ればBさんの点数のほうが高い程度の話です。 数学的に表現できるということと、実際にその関数を持ってこれることは分けて考える必要があります。 「滑らか」というのは数学用語で解析性を表しています。 https://ja.wikipedia.org/wiki/滑らかな関数 低周波成分だけで表現しても悪くないからDNN以外の手法も存在しうるわけです。 ただ、低周波成分だけだと限界が存在することについて上の研究で言及しています。 それが「下限」という言葉で述べられています。 他の手法に比べてDNNの下限のほうが小さいというのが優越だと結論付ける所以です。 waveletについてはよくわからないのですが、Haar waveletは連続関数系ではありません。 一般的には実空間と波数空間ともに局在する関数系だと認識しています。 DNNだけなら線形性を失わせてもよいのですが、自動微分が地獄になるので今の技術では学習させるにはバックプロパゲーション以外に頼るのが一般的ではないでしょうか。 遺伝的アルゴリズムでネットワークを最適化する例を見かけた記憶があります。 まだまだ線形のものだけでも研究のネタが尽きないのであえて非線形なものに挑戦するモチベーションが低いと思います。 DNNで非線形の関数系を表現するのに活性化関数が必要だという話はあった気がしますが、ぱっと出典が思い出せません。 画像における畳込みについて「異なるsacle上のwavelet分解と合成」という直感があるのでしょうか。 「本質」というのは難しい話だと思いますが、無限の「wavelet」から最適な数個だけをうまく取ってくるという意味では近しいのかもしれません。 ただ、そうすると個人的には「wavelet」の方の本質が失われる気がします。 優れた基底系によって、完全系を有限で打ち切って系統的に質を制御することが「wavelet」の利点だと考えているので。
oookabe

2018/02/24 05:00 編集

mkgreiさん 大変勉強になることを書いてくださって、 本当にありがとうございます。 自分も幾つかの考え方を説明したいと思います。 間違ったら率直にご批判頂ければ嬉しいのです。 「今、目的関数に対して滑らかな関数の話をしています。 境界線が滑らかかどうかについての議論はありません。」 いやいや、私が主張したいのは ① 「目的関数を滑らかにFITTING/REGRESSION」と分類問題の境界線が「滑らかにする」問題とは本質的に一緒です。 そして両者とも本質的に如何に合理的、精確的に「補間」することです。 (当然、fittingしようとする関数や分類問題の対象自身が本質的に滑らかであるのは前提) ② ネットワークと言っても「信号+エレメント関数の線形接合」に過ぎません。 いろいろテクニックも結局うまく「補間」するためですね。 なので、所謂DNNというやつも数学構造的にwavelet分解(異なるscaling)のようなものと一緒ではと。 ============= mkgreiさんが書かれた: 「DNNで非線形の関数系を表現するのに活性化関数が必要だという話はあった気がしますが、」 この話の意味が分からないです。 どんな場合であれ、「活性化関数が必要」は当たり前ではないでしょうか。 「活性化関数」はNNの霊しで、特にDNNの場合「活性化関数」がなければ、DNNそのもの存在意味がないと思いますが。?
mkgrei

2018/02/24 08:29

ちょっと話が噛み合ってなくて、申し訳ありません。 機械学習の諸手法全般が補間手法であることについては全面的に同意致します。 「滑らかさ」についての議論はdkato0077さんのリンクを踏まえての話でした。 それが境界線とどのようにつながっているのかがよくわかりませんでした。 ①の「AとBが本質的に一緒」といったときのAとBがどんなことを指していて、どのような観点での話なのかよくわかりませんでした。 例えば、ここで「日本語と英語が本質的に一緒」といっても、その意図ははっきりしません。 漠然と伝達の手段として本質的に一緒かもしれませんが、日本語しかわからない人にとって英語では意思疎通できないので、本質的に異なるとも考えられます。 ②については「wavelet分解の数学的構造」について詳しく理解していないのですが、waveletの関数系を事前に決める必要があるのではないでしょうか。 それがDNNの何に相当するのか、それともそもそもwaveletの形を最初に決める必要がないのか、わかりませんでした。 最後については仰る通りで、活性化関数が必要、というのが重要です。 目的関数が線形関数であれば「活性化関数が必要」というわけではないので、「どんな場合」というのは自明ではありませんが、実用上では「ほとんどすべての場合」において「活性化関数があったほうがよい」です。 活性化関数がなければ、DNNと層を増やしても単層に変換することが可能なのでDNNの存在意義がないというのもその通りです。 https://www.researchgate.net/profile/George_Cybenko/publication/226439292_Approximation_by_superpositions_of_a_sigmoidal_function_Math_Cont_Sig_Syst_MCSS_2303-314/links/551d50c90cf23e2801fe12cf/Approximation-by-superpositions-of-a-sigmoidal-function-Math-Cont-Sig-Syst-MCSS-2303-314.pdf 活性化関数の十分性を証明する論文です。
oookabe

2018/02/24 15:32

分かりました! 恐らく mkgreiさんの入力ミスかな: 「DNNで非線形の関数系を表現するのに活性化関数が必要だという話はあった気がしますが、」 ↑の文の中に「非線形」は本来「線形」に書かれたかったかな。
oookabe

2018/02/24 15:35

いただいた情報をさらに勉強したいと思います。 より深い議論は他の機会があればきちんと根拠を以て申し上げます。 皆さん有難うございました。
guest

0

活性化関数をlinearにしておけばどこまで行っても線形変換ですよ。

投稿2018/02/22 11:43

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

oookabe

2018/02/22 14:56

お返答有難うございます。 「活性化関数をlinearにしておけば」 通常こうしないでしょう。「活性化関数をlinearにしておけば」、deep NNの存在意味がなくなるのですね。純粋な線形接続であれば、多層と単層とは数学的に等価になります。 そして、某分類問題自身が本質的に「線形問題」であっても、DNNの利用者や設計者が予め分からないのです。なので、活性化関数をlinearにするDNNはありえません。
mkgrei

2018/02/22 15:44

横から申し訳ないのですが、常識のある設計者であれば最初に試すのは線形モデルです。 なので線形モデルで説明できちゃうと、DNNの出る幕はありません。
退会済みユーザー

退会済みユーザー

2018/02/23 00:12

質問の意図がくみ取れないのですが、モデルのバイアス/バリアンスの話をしたいのでしょうか?問題の構造やサンプル数の少ない状況で自由度の高い(言い換えると、バイアスが低く、バリアンスが高い)モデルを使うと、思うようにパフォーマンスが出ないことがあります。線形モデルは非常に自由度が低い(つまりバイアスが高く、バリアンスが低い)モデルですので、構造が単純なものに対してや、サンプル数が少ないときには有効です。これは何もマルチレイヤーパーセプトロンに限った話ではなく、識別モデル一般に言えることです。
oookabe

2018/02/23 01:43

mkgreiさん、dkato0077さん 識見の高いお話を聞かせて本当に有難うございます。 「最初に試すのは線形モデルです。」ーーー良いアイデアですね! 「線形モデルは非常に自由度が低い(つまりバイアスが高く、バリアンスが低い)モデルですので、構造が単純なものに対してや、サンプル数が少ないときには有効です。」ーーーなるほど! とても勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問