• 締切済み

ニューラルネットワークとAI

まさに今、書籍でもマスコミでもなんでもこの方面が賑やかのように見えます。 実際に本を読んでみてそれを実行するという面ではそれほどハードルが高くないように思えます(基礎理論は軽い線形代数と微積を少々)(これを考え付いた人はエライですが)。システムの枠組みがあってデータを学習させてシステムの変数を同定していくということですかね。そのため逆にいうと独自性を出すところとか頭1つ他よりも上に行くのは難しいだろうと思いますが、私の立場は単純にユーザです。言われた通りのことをやってみるってだけのことです。そういう立場で見ると、入力層とか出力層は問題設定で決まらざるを得ないのですが、中間層のノード数、層数はどうやって決めていくのかな?という疑問があります。教科書のサンプル例では中間層が1層で5ノードとかの事例が示されています。1層5ノードとなっているところを4層で各層10ノードとかに設定したとしてもプログラム自体は特に問題なく動くように思えます。今どきのコンピュータだと苦も無く計算してしまいそうです。ただし、そうなると学習させるデータがそれに見合って多くないと意味がないかもしれませんが。中間層の層数・ノード数の決め方に何か指標があるでしょうか。未知の変数が多くなるので十分学習すれば複雑な問題に対応できるのかもしれませんが、そこまでしなくていいだろうというような感じなのでしょうか。 また、AIって結局ニューラルネットワークのことだ、と思っていいのでしょうか。多分、ビッグデータがあるから皆出来るようになったんだなと思いますが。

みんなの回答

  • nagata2017
  • ベストアンサー率33% (7034/20721)
回答No.2

AIって結局ニューラルネットワークのことだ AIって結局アルゴリズムのことだ 意味は似たようなものかな。

すると、全ての回答が全文表示されます。
回答No.1

今勉強中の素人ですが、お許しください。 まず、中間層のノード数、層数は、多ければ良いわけでは無いようです。一つ目は、勾配消失問題です。モデルの学習において最適解を求めるために各パラメータの勾配を求める必要が有りますが、層数などを増やしすぎると勾配が消えてしまいます。データの変化に対する変数の変化がゼロになると言うことです。これが中間層を増やしたときの問題点の一つ目です。 もう一つの問題は、過剰適合です。例えば、仮に本来の分布がy=x^2のようなグラフで表せるとします。仮にこれを過剰な中間層を使って、実データで学習すると当然より高次の関数型の方が学習結果は良くなります。しかし、真のフィッティングからはずれていきます。訓練データでは予測がうまくいって、テストデータではうまくいかないというのは過剰適合の可能性が高いです。 では、どれくらいのサイズの中間層が最適なのかと言う事ですが、簡単には決められないようです。データポイント、「真の」適応関数の次数によって違うようで、結局試行錯誤かなと理解しています。 さて、AIはニューラルネットワークかという点ですが、昨年くらいに日本のトップクラスの研究者に来て頂いて研究会をした感じでは、そうではないようです。ニューラルネットワーク、ディープラーニングが最適の結果を出す適応事例は少ないと言われていたトップ研究者がおられます。様々なアルゴリズムのAIが提案されていて、その方が基本的には適応範囲が広いようでした。ただ、ディープラーニングは、ある意味使いやすい環境が出ており、一番多くの人が使っているので、当分はこのブームは続くように思います。 ディープラーニングに関しては、今多くの実用の現場ではどうやって手間を掛けずにビッグデータを用意するのかというのが一番の問題になっています。手入力で数十万件を入力するのは実際的では無いので、自動化する必要が有り、その自動化の作業がまた大変というところです。

skmsk1941093
質問者

お礼

回答ありがとうございました。ディープラーニング・機械学習・ニューラルネットワークが私の中で混同しているようです。そのような表題のテキストを見ると、結局ニューラルネットワークの説明ばかりになっているように思いました。勾配消失や過剰適合についてはテキスト書いてあるようですが、十分理解はしておりませんが、フィーリングはわかります。 層数、ノード数(パーセプトロン?)の数をいろいろ変えるところまでもプログラミングの内側に入れてあれこれやってみるという力わざもあるのかなと思ったりしますが。 流行を追うのは良し悪しだと思いますが、訓練というかボケ封じのために少し追ってみようかと思っています。ユーザとしてですが。

すると、全ての回答が全文表示されます。

関連するQ&A