について教えてよ
やだ
やだ
4 :
デフォルトの名無しさん:04/09/11 02:37:45
矢田亜希子かわいい
いいよって6が言ってたよ
6 :
デフォルトの名無しさん:04/09/11 02:43:30
そんなこと知らなくていいよ。
7 :
デフォルトの名無しさん:04/09/11 02:50:46
板違い。シム板池
NNの実装に関する話だったら別に構わないと思うよ
10 :
デフォルトの名無しさん:04/09/11 15:12:19
ググれば本がいろいろ出てる
Cで実装したやつとか
11 :
デフォルトの名無しさん:04/09/11 17:30:39
>>1 夢を見すぎだよ。
人工知能の時代はもうおしまいなんだよ
ニューラルネットワーク=人工知能ではないと思うのだが。
13 :
デフォルトの名無しさん:04/09/11 17:47:23
そうだが。
ニューラルネットワークを現在の2進コンピュータ
だけで実現させようとは・・・・
14 :
デフォルトの名無しさん:04/09/11 17:48:27
シグモイド関数 g(x) = 1/(1-e^(-k*x)) を使って、
1層ニューラルネットワークのn次元縦ベクトル v=(v_1, ・・・, v_n)^T に対する出力f(v)は、
f(v) = g(Σ[k=1, n]v_k*w_k)
こういうの?
>>1
>>11 ばっかじゃないの。
歴史は「人工知能」と言われた技術が一般に膾炙されていく繰り返しなんだけど。
ニューラルネットも使いどころを辨えればちゃんと使えるし、使われてる。
>>15 辨えれば→弁えれば→わきまえれば
何かと思ったら「弁」の旧字体だった。
>>14 f は一つのニューロンの出力だった。スマソ
>>15 使われてはいても当初の人間が想像していた物は実現できなかっただろう。
ばっかじゃないの
これは酷いバカがあらわれたな。
ホムンクルスでも作ってみるかぁ…
勇者募集中
>>22 DQ3の世界の勇者です。アレフガルドからこの世界に来ました。
DQ1の世界にお帰りください
>>19 アホだな。当初の人間が想像していた物って何か、わかってるの?
その期待がどうしてしぼんだか、その後どのようなブレークスルーが発見されて
次のブームが起きたか、言ってごらん。
あまり構ってやるなよ。
>>28 可愛いから買っちゃったよ。
子供向きで遊べるかな〜って思ったけど、絵本ほどの価値もなかった。
>>14 シグモイド関数って谷底へ落ちるボールみたいに最適解を探して、
でも小さい谷に引っ掛かってローカルミニマムになっちゃうって、そこら辺の話で出てきたな
>>29 「がんばれ森川君」かな?やったことないから分からないけど…
ゲームなら、賛否が分かれるけどGPMとかEVA2とかがAIだね
>>30 リンク先みた?
マッチ箱の脳っていう本だよ
>>31 >子供向きで遊べるかな〜 っていうから…ゲームの話かなと思った
入門書で実際にプログラムするのとは別って感じじゃない
>>30 完全な最適解を求めることは不可能か、計算量があまりにも大きすぎます。
関数の形が完全に分かればともかく、グラディエントしか分からない場合は
ローカルミニマムを求めるしかないです。
34 :
デフォルトの名無しさん:04/09/11 23:25:43
ポストペットでつかわれてるお
むりやり学習されるだけが脳じゃない
>>35 ニューラルネットワークだけで人間が望むような学習を自動的にさせることは出来ません。
出力を短時間で決定するためにBPなどを使うみたいですが
これは求める結果をあらかじめ固定しますよね
逆に結果によってどうさを切り替えるような構成って出来ないものでしょうか?
学識もない人間なので適当なことを言ってますが
人間の脳ってBPなんて機能はもってないですしね
結果に対して動作を切り替えるとは、例えばどのような場合ですか?
入力と出力の組が分かっているとき(例えば、ある画像パターンAが「1」を意味する場合)、
画像パターンAを入力すると「1」を出力するように学習させることは出来ます。
(これは個人的な憶測ですが)おそらく、人が普段「何となくそんな感じがする」というときは
BPによって(無意識のうちに)学習されているのかも知れません。
具体的に脳の学習のメカニズムがどうなっているのかまでは(勉強不足で)分かりません。
その場合ですと、初期状態でAが0を示すなら0がAであると
決めてしまえば学習する必要はないですし、類似のパターンについても
繰り返し入力することで0へかたよっていくような構成にしてしまう
この辺の処理も別のNNを組み合わせて自動化できると人間の脳に近い形だと思うんですが。
具体的にどうしたらいいかって聞かれても答えられませんが。。。
人間の脳は発火した細胞の結線は短いものがのびくっついてるものは
より強化される。
発火がないとじょじょに萎縮していく。
と認識してます。
間違ってたら誰か指摘して下さい。
>その場合ですと、初期状態でAが0を示すなら0がAであると
>決めてしまえば学習する必要はないですし、類似のパターンについても
>繰り返し入力することで0へかたよっていくような構成にしてしまう
Aが0と決めると言っても、Aは実際には無数にあるので(24*24の白黒2値画像だと 2^576 通り)、
それら全ての組み合わせをあらかじめ決めておくことは現実的ではありません。
それを近似的に解決する方法の一つがNN(ニューラルネットワーク)です。
初期状態では何が何を指すのかは未知なので、新たに学習させる必要があります。
NNは、類似のパターンについても繰り返し入力することで期待する分類を行ってくれるようになる方法の一つです。
但し、常にうまくいくとは限りません。
>この辺の処理も別のNNを組み合わせて自動化できると人間の脳に近い形だと思うんですが。
>具体的にどうしたらいいかって聞かれても答えられませんが。。。
NNは、A_1, A_2, ・・・・, A_n (n=10000くらい)の入力と出力の関係を学習させて、似たようなパターンが現れたら
(良い条件のもとで)期待する出力を返すものです。一つだけパターンを与えて、それに似たものを全て
的確に答えてくれる高度なものはNNでは出来ません。
人間は、実は非常に高度な分類を日常的にしているので、それが凄いことだと気づかないのです。
>人間の脳は発火した細胞の結線は短いものがのびくっついてるものは
>より強化される。
>発火がないとじょじょに萎縮していく。
>と認識してます。
>間違ってたら誰か指摘して下さい。
そんな感じでいいと思います。
コンピュータで実現するNNの場合は、学習結果の衰退が起こらないという点で実際の脳と違いますが・・・
現実的でないのはわかります。
今後の展望という意味で人間の脳に近づけることは非常に良い結果を
得られるんじゃないかと考えているんですが。
例えば脳は小脳と大脳があって小脳はほぼ変化しないそうです。
かってな考えですが小脳が大脳をコントロールする役割を果たしてるんじゃないかと
考えています。
前文で言ったNNで自動化するって部分がこれに相当するんじゃないかと思っています。
とりとめのない話ではありますが。。。
>>33 完全な最適解を求めるのは無理だし無意味だよね
Boltzmann machine でボールに勢い(温度)を持たせて
小さい谷なら越えちゃうというのは有効だね
ゲームの話になるけど、カルネージハートってのがあって、AIじゃないけど非常に面白かった
んで知ってる人にしか分からないけど、あのパネルをNNのノードに見立てたらどうかな
刺激が多いとパネルか、それを繋ぐラインが成長するとか…誰か作ってくんないかな
45 :
デフォルトの名無しさん:04/09/14 18:01:41
>>43 入力を表すベクトルを v、内部状態を表すベクトルを w、そのときの出力ベクトルを f(v)、望みの出力を f0 とするとき、
E =|f(v, w)-f0|^2 (|x|はユークリッドノルム)
w_0 を初期の内部状態として
w_(n+1) = w_n - δ*∂E/∂w
とするのが最急降下法による学習ですが、
w と同じ次元の乱数ベクトル r を使って
w_(n+1) = w_n - δ*∂E/∂w + r_n
とするのでしょうか?
でもニューラルネットでできるのは、それがチェッカーだからだけどな。
パソコン上で自分自身または他のプログラムと対戦させて強くする、というのは
囲碁なんかでもあるね。
ちなみに
>>46のチェッカープログラムは自己学習したニューラル
ネットだけでトップレベルに達することを実証するため、定石や
結論の出ているデータをわざと使わないで作っている。
強さだけを論じるなら、数百年に渡る人間の知識再生型チェッカー
プログラムはさらに強い。
バックギャモンもニューラルネットプログラムが強いが、こちらは
知識再生型プログラムは激ヨワでお話しにならず、ニューラルネット
導入で初めてトッププレーヤの域に達した。
ニューラルネットが適するかはゲームの複雑さも影響するが、
ゲームの性格に因る所が大きい。囲碁も知識再生だけに頼ると
限界が近いタイプのゲームに思える。
49 :
デフォルトの名無しさん:05/01/16 17:38:50
3層ニューラルネットワークをC言語で作成しろって課題が出たんだが、
参考になりそうなサイト無い?
ニューラルネットワークなんて何層でも同じ様なコードだろ
>>49 今どきの学生はそのくらいの課題をウェブに頼ろうとするのか…。
52 :
デフォルトの名無しさん:05/03/01 00:02:51
53 :
デフォルトの名無しさん:2005/08/10(水) 23:35:32
ニューラルタシーロはいつできるようになるんですか?
54 :
なつかしい:2005/08/12(金) 01:19:42
うは、なつかしい。
ニューラルネットワークは、大学のゼミの卒論テーマだった。
いまから13年前だ。。。
そこで、文字認識をやらせるプログラムをC言語で組んだ。
いまのパソコン性能なら一瞬で終わる処理が、13時間とか
かかってたなー。
まあ、卒論発表近くで重大なバグを発見して、血の気が引いたけど。
>>49 こういうこともあるから、自分で一から作ってかないと、痛い目にあうよ。
あのころと理論変わってないのかな?3層のやつ?
理論の名称も浮かばないや。
卒業したてのころは、競馬予想をやるソフトを開発してやろうと
思ってたけど、仕事が楽しくて、そっちに気が回らなくなったよなw
55 :
デフォルトの名無しさん:2005/08/15(月) 18:26:22
>>35 人間のように、反抗してワザと駄目な値を模索したりとかなら面白いと思います。
なんらかの自律的動きをしてるようにうかがえる範囲で。
56 :
デフォルトの名無しさん:2005/08/26(金) 12:26:02
>30
>GPMとかEVA2とかがAIだね
殆どのゲームでAIって使ってんじゃないか?(程度の上下はあるが)
ガンパレとかはAIの程度の高さを売りにしてのかな?
ニューラルネットワークに「学習」させる方法は
バックプロパゲーションとかいろいろあると思うけど
実際の脳ではシナプスの重みの調整をどんな方法でやってるの?
おせぇてエロい人
58 :
デフォルトの名無しさん:2005/08/26(金) 13:36:36
>>57 興奮とか抑制とか
よくわかってないスマソ
59 :
デフォルトの名無しさん:2005/08/26(金) 15:15:05
ヘッブしゅん!
61 :
デフォルトの名無しさん:2005/08/26(金) 16:26:36
>>60 その「細胞の数」がどういうときに調整されるのかが知りたいんだが。
どういうときにどう調整されれば「学習」できるのか。
電流の通る頻度だと思う
単純に電気の通る頻度なら、
少しでも電気の通りやすいところがあったら
そこに電気が通って、さらに通りやすくなって、
またそこに電気が通っての繰り返しになって
学習もなにもあったもんじゃないような希ガス。
いや、俺はニューラルネットワークは知らないんだが。
>>63 筋肉と同じで、使えば使うほど強くなると思うが、消費が激しいと老化が早くなるかもな。
筋肉は入れ替えが起こるが、神経はそうもいかんし。
接続強さの上限があって、あまりに激しく使用すると、その接続部分だけ疲弊するかもな。
それが、忘れる事だったり、柔軟性だったりするかもな。
>>63 通りやすくなれば通る頻度が上がるとは限らないわけで。
67 :
デフォルトの名無しさん:2005/09/04(日) 09:07:12
∧_∧
`∧( ´∀`) age
( ⊂ ⊃
( つ ノ ノ
|(__)_)
(__)_)
柔軟性が接続部分の疲弊だったら、
数学なんていらないんじゃないのか。(この世に)
69 :
デフォルトの名無しさん:2005/09/04(日) 11:08:27
|ヽ‐-へ
i _゚Д゚」
゙´ノノ))))
l ノ゚ヮ゚ノl
ノ⊂)卯!つ
´((く/_||リ
しソ
>>57 樹状突起のスパイン(棘)が増えたり減ったりするのがメインらしいが
樹状突起自体も増えたり減ったり
神経細胞自体も増えたり減ったり
する ベースにあるのは蛋白質の合成過程と言われている
レセプターのリン酸化非リン酸化とかいろいろ複雑だよねえ
>>71 記憶って作業が、そんな物理的な構造の変化によって行われるのなら
俺の記憶力が悪いのも頷ける。
ストレスが強いとマジで記憶の定着が悪くなる
長時間考えると覚えられる(40分程度は掛かるそうだ)
>>74 覚えた事をすぐに取り出せないのですが・・・
毎日会っているはずの人の名前がすぐに出てこなかったり。
覚えてはいるはずなんだけど。
それ、病院で診察受けた方がいいかもよ。
>>71 メインの現象で追加
スパインの増減もあるけど
イオンチャネルの数(チャネルのスパイン表面への運搬、挿入による)
チャネルのイオン透過性(チャネルのリン酸化による)
神経伝達物質の放出確率(シラネ)も増減します
>神経細胞自体も増えたり減ったり
発生過程では正解
ご存知のとおり、神経細胞は成熟した脳ではほとんど増えません
79 :
71:2005/09/16(金) 00:20:04
>>77 それどの位の時間で発生してどの位維持されるの?
うん,学習の基本になる機構としてはアポトーシスが一番重要なんじゃ
ないかと最近考えてる.今のNNにはそれが抜けてるんだよね
さらに,大脳皮質は「野」が階層構造になってるけど物理的には一枚(大き
目のハンカチ程度)なわけで,これが階層構造を構成する仕組みも重要ではないかと
80 :
71:2005/09/16(金) 00:21:46
>>75 それ単なるストレス過多(まだ40歳前なら)
連書きスマソ
>>80 うぐ・・・そうなのか。確かにストレス溜まっているかも。
まだ31です。客先常駐なのに名前忘れるから困る。
>>81 ストレス過多もあるけど忙し過ぎるって可能性もある
前に書いたけど記憶の定着には40分〜1時間程度掛かるから
その間に注意が他の事に逝ってしまったらきちんと定着されない
次の仕事との間にある程度間をおくのが有効かも知れない(試したことはない)
>>82 今まで働きづめだからな・・・俺に限らないだろうけど。
にしても教えてくれてありがと。ためになったよ。
84 :
デフォルトの名無しさん:2005/09/23(金) 01:14:53
age
85 :
デフォルトの名無しさん:2005/10/24(月) 00:53:24
階層型のNNの伝達関数にRBFを使った場合、
関数の中心,分散を意味する変数の修正は、
通常のBPと同様に、微分で計算するの?
86 :
デフォルトの名無しさん:2005/10/26(水) 21:58:15
3層バックプロパゲーションモデルって今でも定番なのね。
17年前にSun3でC言語とSunViewで組んだ記憶が・・・。
重み値を遡及して再計算したり、大変そうw
発火、教師データ、類似度、なんていう表記も使ってたっけ。
これに企業の財務諸表データを入れ、複数の重みセットを組み合わせると
面白そうだなと思っていた時期があった。
質問(?)します!
相互結合型ニューラルネットの代表的な例でいいですから、
アルゴリズムの名前を教えてください。
ホップフィールドとか
その一種のボルツマンマシンとか
3層バックプロパゲーションモデルの典型的なプログラムを掲載しているサイト教えてよん
90 :
デフォルトの名無しさん:2005/12/22(木) 17:42:15
age
91 :
デフォルトの名無しさん:2005/12/23(金) 00:42:35
SOMは相互結合型でOK?
92 :
デフォルトの名無しさん:2006/03/04(土) 19:51:58
20年くらい前に、家電でニューロブームがあったが、
どんな内容だったんだろう。
93 :
デフォルトの名無しさん:2006/03/05(日) 01:03:28
ファジィじゃなくて?
朧な記憶では,ニューロで学習したパラメタをハードコードしただけだったかと
単純なニューロでメンバーシップ関数を作って、ファジーチップに書き込んでいた
実際、最適値は、処理目的ごとに似たような結果になるので、ファジーで十分
家電の制御回路に、ニューロを組み込んで、「家電購入後、1ヶ月は、学習中です」
なんて、イヤ
TextSS のWindowsXP(Professional)64bit対応化おながいします
もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
97 :
デフォルトの名無しさん:2006/03/18(土) 22:23:39
マルチガッ!
sage
>95
あらかじめある程度学習させておけば良いんじゃないのか?
100 :
デフォルトの名無しさん:2006/05/31(水) 16:15:58
自己相関学習と相互相関学習ってなにさ?
C++を使った鉄棒ロボットシミュレータプログラムで
ロボットに鉄棒での倒立運動を学習させる、という研究に
ニューラルネットワークを応用したいのですが・・・
BP法など、本を読んでもよくわかりません。
そもそも、教師値というのは、正解データの事ですよね?
正解データが、欲しいデータが分かっているのにネットワークに学習させる、
というのがよく分かりません・・・。
BP法とは、どのような使い方をするのでしょうか。
具体的に知りたいです。
というか、
そもそも、この研究にニューラルネットを使うことが間違っているのでしょうか?
分かる範囲でいいので、何かアドバイスがあればお願いします。
>>101 > BP法とは、どのような使い方をするのでしょうか。
文字認識で、最初にそれぞれの文字教えといて、問題の図形がどの文字か判定させるとか。
そういう、分類する問題に強いと思った。
age
ニューラルネットワークを利用した卒論修論でおもしろい利用法ないですかね?
あっても2chにゃ書かねーわなw
>>102 まさに今日その講義を聴いたところだw
他にはなにも思いつかない
>>105 そりゃそうかw
NNがどういうことに利用できるか検討がつかないんです。
C++でNNだけ作るとしたら、スキルの差もあるでしょうが
何行ぐらいでできるものなんでしょうか?
107 :
デフォルトの名無しさん:2006/06/18(日) 20:20:03
あげ
お前らシミュレーション板がありますよ。
面白いネタが多いんだが、過疎なんだよな。あそこ。
おもしろいネタってどんなのがあるよ
いけばいいじゃん。知的好奇心をあおられると思うけど。
111 :
デフォルトの名無しさん:2006/06/27(火) 23:07:34
112 :
デフォルトの名無しさん:2006/07/12(水) 18:45:11
一つのニューロンへの入力は2通りしかだめですよね。
例えば3通りあったとして、それぞれ 0, 0.5, 1.0 としても 0.5 と 1.0 の意味が違うのに
単に大きさの違いとしか捉えきれないと言う事です。
では、一つのニューロンに3通り以上の入力を関連付けたい場合はどうすればいいのでしょうか?
ちなみに、ニューラルネットの事はあまり分かってないので、的外れのことを言っていたらすみません。
複数の入力に分ける
いいえ
ニューラルネットワークの仕組みが分からないなら、まずファジー技術を
学べ。それが理解できるならニューラルネットの学習法則も理解できよう。
まあ、仕組みなど理解できなくても利用できるし、理解する必要など無いし
特徴だけしっていればという考えの奴がほとんどだとおもうがw
何だ藪から棒に
抽象化層の意味を理解せず、ニューラルネットワークの学習機能だけを
耳コピーしたような奴ばっかりだなw。
愚か
>>118 自分で考えず教科書の建前な所だけしか理解できない奴が増えているのは
事実だが、それは放置して具体的例で教えてやったらどうだ?
結局、新しいアルゴリズムは何もでない。
はい?
122 :
デフォルトの名無しさん:2006/11/15(水) 03:10:13
ニューラルネットワークとは信者が作った幻想にしかすぎない。
これは事実であって、どんなに力説しようが、絵に書いた餅。
研究対象として企業から支援してもらう為、あらゆる分野で
大騒ぎしている香具師が一部にいるだけなのをご存知じゃないだけ。
123 :
デフォルトの名無しさん:2006/11/15(水) 03:53:22
あ、そうなんだ。
研究室変えるわ。
>>101 教師あり学習・教師なし学習を調べろ。って6月か。
つうか、ニューラルネットって、能力の限界はとっくに明らかになってるだろ?
ニューロン自体に新しいモデルを入れないとだめじゃん?
ってBPとかフィードフォワード型だけだっけ?
甘利の本読まなきゃと思いつつ未だに読んでない。
ミンスキーの論文に書いてある。
126 :
デフォルトの名無しさん:2006/11/18(土) 01:43:11
ニューラルチップというのは過去に大手半導体メーカーが何度も試作したが
複雑さが増えれば指数的に組み合わせが無限に増える訳で音声認識が限界だと
ファイナルアンサー済み。
127 :
デフォルトの名無しさん:2006/11/27(月) 01:21:43
1つだけ言わせてくれ。今更ニューラルやってもデータ量の分布が激しいと
絶対使えないと思う。プログラム組んでみて解った。数式だけじゃ現実は
解決しないんだよ。こんなの採用するやつは何を考えているんだろう。
128 :
デフォルトの名無しさん:2006/11/27(月) 02:11:28
>>126 チップの方だって、ムーアの法則で指数関数的に性能向上してる訳だぜ?
>>127 1つのニューラルで全て解決しようとするからそうなる。
>>128 それも終わった、intelががんばったおかげだが
131 :
デフォルトの名無しさん:2006/11/27(月) 12:32:52
>>130 終わってないよ。intelのロードマップでは10年までに数百のコアを積んでくる。
それ以降も、予想が付かないほど進んでいくよ。
>>128では性能と言ってるけど元々ムーアの法則は集積度の話だから、
そういう意味では終わりつつあるといってもいいと思うよ。
集積度上げるのが厳しくなってきたから、コア増やして誤魔化してるに過ぎないし。
133 :
デフォルトの名無しさん:2006/11/27(月) 15:49:08
>>132 別に誤魔化している訳ではないだろ。
集積度を上げるコストやクロック数を上げるコストより、
コア増やす方がパフォーマンスがあがるということもある。
あと消費電力の問題もあるわけで。
P4系がなくなったのも、そういう理由だし。
三次元配線の検討もされているらしいし、集積度もやっぱり上がると思うぜ。
>>135 学習しない状態で強いわけないだろw
愚かw
>>128 それはチップの集積度の緩やかな増加状態。
ニューラルネットワークで膨らむのはビックバン的な指数増加。
比較にならん罠
138 :
デフォルトの名無しさん:2006/11/29(水) 16:12:14
>>137 ビックバン的は誇張もすぎないか?
ムーアの法則は緩やかな成長ですがニューラルネットワークだと次元が
増えるような組み合わせなので比較するのはニューラルネットワーク自体を
建前的にしか知らない奴だかなぁ。
根本的に逆誤差伝播則みたいなも定番だけを利用するアルゴリズムだけを
評価しているので単純モデルが引き起こす複雑さ回路にもろに出ている
訳で脳のニューロンはそんなに組み合わせがあるわけではなく
可能性がある組み合わせであって、実配線を伴うチップと比較できる
ような仕組みではないと思う。
カンチガイさんが多いスレですね。
なんか人工知能がもてはやされた時代を生きた40代後半のにおいがぷんぷんします。
おじさんたちの時代の人工知能と今の人工知能とでは言葉の意味が違うよ。
142 :
デフォルトの名無しさん:2006/12/01(金) 23:46:11
「人工知能」って、達成されると「こりゃただのプログラムで『人工知能』なんてモノじゃない」になるからなぁ。
嘗ては最適化コンパイラや、鉄道乗換え案内が「人工知能」だった。
まぁ、学習と記憶は別物で、
それはわかってるが、じゃあ何が違うのかってのは厳密に定義されてないからなぁ。
そういう意味で、技術革新によって、今ある人工知能はいずれ人口無能と呼ばれる。
うずらだって初期のころに登場すれば
「人工知能」だったろうしな。
>>143 >技術革新によって、
それは、勘違いだよ。
技術じゃなく、価値観の革命がなされないかぎり現状のまま。
(´^ื౪^ื)
>ニューラルネットワーク
これを理解できずに、仕組みだけを暗記して語る奴ておおいよな。
ネットワークは繋がりであって途中で基本的演算を組み合わせている
わけではない、さらに細かい原理があるように思い込みたいのはいいんだが
これ以上細かい原理は存在しない。
何故入力から計算せずに答えがでるのか?これが理解できない奴には
ニューラルネットワークの1%も理解できているとはいえない。
単に解説本を暗記しただけで中身を全く受け止めていないDQNそのもの。
なぜ答えが出るかって、分かるやつはその前に居ないだろ
なぜだかわからないが、答えが出るのがニューラルネットワーク
3層パーセプトロンやバックプロパゲーションだけじゃないんだけどねぇ
ホップフィールドだってある!...いや,すまん.
>>148 自然淘汰という理屈があるだろ、そのぐらい誰でも知っている。
因果関係が自然に答えを見つける仕組みだよ。
それは解答になっていない。
そんなものが答えであるとマジメに言う気ならどうかしてる。
153 :
デフォルトの名無しさん:2007/01/28(日) 19:12:42
>>148 ベイズ推論マシンと考えれば十分な理解だろ。
>>152 151の本意はわからないが。
ニューラルネットワークの講義とかうけてみたけど似たような説明を受けたよ
そもそも理解しようという態度が皆無なんじゃないかな
>>153 それじゃ現実の脳の動作は解明できない
双方向に結合したダイナミクスこそが命
現実の脳の解明がNNの理解に必要とでも? 別物。
あくまで脳の働きをまねただけだからな。
遺伝的アルゴリズムを理解するのに遺伝学は必要ないのと同じ。
>>156 逆
実際の脳を解明するためのモデルというのもNNの役割の一つ
っつーか原点
>>152 キミは典型的な「おこちゃま」。ガキは大人の言うことを従っていればいい。
>>157 遺伝学を知ってる方がGAの理解や開発で助けになるし、
GAによって生物の遺伝の仕組みに対する研究も行なわれてる
単なる重み付き選択だろ。
>>161 単なるだが、画期的とも言うw
その仕組みを毛嫌いしているのが大量にいるのも事実。
ニューラルネットワークはネットワークによる情報処理を論理的にしか
解釈しないからこそ使えねーなんて考える香具師ばっかりになるんだろう。
単純な演算素子のような使い方ならいくらでも活用可能だろ。
この辺が何も進まないのは自動学習にこだわりすぎている点であって、
ファジィーのような使い方の応用をすればいいだけ。
単純モデルばかりで万能のように考えるのも的外れなんだよな。
半導体でFPGAとかをプログラムする前に完成しているように誤認する
奴とかは、途中に複雑な設計が必要なことを全く理解できていないよな。
>>161 ランダム(シミュレーション)はどう選択するかが全て
それで効率や結果が大きく変わってしまう
それを「単なる」というのは何も分かってない証拠
>>163 同意
四則演算専門のチップ上にニューラルを構成するのと
ニューラルチップ上に、四則演算をする為の命令を構築するのとでは
どっちが高速なの?
四則演算専門のチップ上に構成するニューラルネットワークによるだろ
>>165 やりたい事が書いてないのにどちらが高速かなんて分かるわけがない
それにニューラルチップと言っても色々あるし
そんないろいろあったか?
>>168 モデルをちょっと変形すれば、いくらでも。
ネットワークそのものが情報処理の座なのに、量子コンピュータとか
DNAコンピュータとか訳のわからんことをいうのが時々います。
こんなキチガイを無視するのは簡単だが、無知な奴はこれを信じてさらに
増殖してしまいます。どうにもならんのか。
無視すればすむ話なので、増殖したとしても何の問題もありません。
171は典型的な無視ができないDQN君?
172は典型的な無視ができない(ry
173は典型的n(ry
メタだな
ダメだな
>>170 たしかに量子コンピュータなど考慮するほど優れているものではないのは
間違いないが、今後も同じとは限らない。
良子は精子を象さんします、ぱふぱふ
>>176 日本語おk
量子コンピュータなど糞以下。現実がそれを証明している。
179 :
デフォルトの名無しさん:2007/03/26(月) 22:14:09
>>180 その本さ、凄く簡単そうに見えるんだけど
肝心の事が書かれて無いと言うか、詳細が無いので・・・
軽く読めるけど、全く為にならんし、実装しようと思ったら逆に凄い労力かかったよ・・・。
もっとマシな本ないんかなぁ・・・
182 :
180:2007/03/27(火) 12:45:38
>>181 え?そう? SMO や (dual objective などによる) 収束判定に関しても
詳説してあるし,自分は (SVM の最低限の実装なら) 特に問題なかったけど?
>実装しようと思ったら逆に凄い労力かかったよ・・・。
具体的にどこに労力がかかったのかkwsk
>>170 今の時間軸でしか考えられないダメプログラマが付いて行けなくなるからって、僻むのはおよしなさい。
君たちは短命ながらもよく動いてくれたよ^^
非ノイマン系はプログラムするという概念を持ち込んじゃダメ。
基本的にネットワークなんだから、プログラムなどの枠で縛ったら
何もできなくなる。
時間軸でしか考えられないプログラマか…
そういうプログラマが大半なんだがら、逆に言うと、量子コンピュータが普及しないって考え方も出来ると思うがな。
出来ないプログラマが死滅するより可能性は高そう
>>186 量子コンとかあれほど研究されているのにアルゴリズムが増えないのは
考え方に問題があるのではなく、単に使えない技術が誇張されすぎただけ。
世の中の技術は科学、つまり理屈で出来ている、仕組みという理屈が通じない
世界が普及するわけがない。
>考え方に問題があるのではなく、単に使えない技術が誇張されすぎただけ。
ソースor根拠希望
>>187じゃないが
>あれほど研究されているのにアルゴリズムが増えない
が根拠じゃないの?
量子ビットで解ける有意な問題がほとんど無いという。
ただ、現状の公開鍵暗号システムを崩壊させられるだけでも十分にインパクトはあると思うけど。
>現状の公開鍵暗号システムを崩壊
量子が突破するまえに従来技術で突破されるだろう。
どの暗号システムかによる。
>>190 素因数分解にしても離散対数問題にしても、解法が見つかるとはとても思えない。
ブルートフォースにしても、現状の1万倍速いCPUが出来ても
(相応に鍵長を増やすだけで)何の意味も無いことを考えると、
量子コンピュータや類似のアプローチ以外で突破は難しいと思う。
>>192 それは秀才がやれば難しいだろうけど、天才なら別の問題だろう。
>>192 フレーム問題の中でしか思考できない奴には難しいとしか思えないんだろう。
自分で思考の壁を作っているし。
ダメな奴は何をやってもだめ。
196 :
192:2007/04/16(月) 13:00:53
>>193-195 その通り過ぎて返す言葉も無い。
やっぱり壁作りすぎかなぁ。
最近、先行研究のサルベージ→問題点をぐちぐち→でも自分も解決できないループが...
>>196 ガンガレw
大体に天才と言われる香具師の発想は、誰が見てもコレはキチガイとしか
いえないという発想です。常識を超えるには非常識にならないとw
このスレ面白いな。
いろんな分野の人間が話してて、レスもすごい玉石混交w。
>>196 先行研究者が行ったことを繰り返しても、同じ結果になるだけである。
ループから飛び出るには理屈を越えた視点から客観視するしかない。
これは知識そのものが敵=壁なのである。
絶対ありえない、そんなオカルトのような、という点から模索し
理に叶う部分を模索すれば、先駆者が見つけられなかったありえない部分を
模索することになる。
シャーロックホームズ言葉に以下のような発言があるらしい。
彼の言葉が理解できないようなら諦めてくれ。
>彼が言うには情報が多ければ多いほど本当に必要はその中に
>隠れてしまい自分の判断を鈍らせる。
>本当にいる情報をその中から得るにはまず自分の先入観に
>とらわれない思考方法が必要だと言っている。
>そして先入観こそが我々を間違った解へ導く最大の敵とも。
>先入観にとらわれず自分にどのような情報が必要なのかを
>把握しておかなければならない。
>それらの中から絶対にありえない情報資料を削除し残ったものが
>我々の求めている解なのだと。
Web上で実行する類似画像検索にニューラルを適用しようと思うんですけど、
既に先行研究があったりします?
あと、現実的な速度で出来るものなのでしょうか?
手書き文字の認識につかったりはしますけど・・・
まぁ、googleの検索みたいに高速検索にはつかえたもんじゃねぇけどな。
精度を落としてでも、何か結果を出せて、google並みの速度を出すなら
画像を文字列の問題に落として、DPマッチングでもさせた方が良い
精度を落としたら意味無いじゃないか?
むしろGPGPUなんかでハードウェア・アクセラレーションする事を
前提にして今は基礎固めするのが研究としては真っ当だろう。
ニューラルネットを実用化する際に今の汎用CPUだけでやろうと
言うような不必要な制限を設ける理由が俺には良く分からんよ。
ニューラルネットは、機械語のようなものであって。それより高い次元で
構築できるようなエージェント搭載の高級記述言語みたいので設計する時代に
ならないと、単純モデルを繰り返しやっているだけのなるのではないか?
実際の脳は神経網が多層構造や複雑な回帰と相互依存の形が存在する。
それが沢山の神経網集団を繋ぎ、個々ではたいした動作はしないが
全体として複雑な機能を実現しているんだろ。
おまいらがやっているのは単純モデルの摸倣にしかすぎない。
で?
毎回、で?とか言うやつは学術系の板に来るなよなって思う。
VIPで理解しやすい話だけやってろ。
>>205 1つの神経細胞のモデルについてはMcCulloch-Pittsのモデルのような
粗い近似で良いのだろうか
…といったことを人工知能分野の先生に言われた
>208
マカロック・ピッツのモデルでダメだと言う根拠は見つかっていない。
非線形入出力を持ち学習能力のあるネットークであれば
細かい要素は関係ないと言う考え方が主流。
つまりネットワークの規模と構造、学習規則のみに
意味があると言う考え方だな。
>>209 脳の仕組みを研究すれば脳を摸倣できると思い込んでいる奴が多すぎるよな。
マーが言ったようにレベルが違うからねぇ
>>211 レベルではなく、次元だろ。
人工知能が云々デマカセな表現をしていたり、
脳の仕組みに注目しているマヌケ君は
異次元の概念も自分の支配化におきたいだけの希望的な思い込みにすぎない。
自己構築する情報処理を、仕組みという理屈で組み立てる情報処理で
置き換えることは考えるだけ無駄。
奴らは環境と情報処理装置の環境を無視して閉じた世界でしか
物事を計れない。
環境が大事だという基礎的なことすら受け入れようとしない。
環境に最適化して育つものと、管理する側で都合のいいものを作るもの
では考え方として次元が違うんだよな。
マーの「ビジョン」を読んでから家
次元という言葉を数学と無関係に使うような奴はここには要らん
そんなもん聞いてどうするんだ?
219 :
デフォルトの名無しさん:2007/08/29(水) 23:58:41
せっかくだからネタふってみた
ニューラルネットワークについて話すスレだからいーじゃん
自己増殖
ってくらいだから,ニューロンの数が自動的に増えるんじゃまいか
ニューロン欠落防止のため
保守
卒論でニューラルネットワークをしています。
誤差逆伝搬法で、対象データの予測をしており、精度を上げる研究をしてるんですが、
その環境が、
入力数:15
出力数:1
教師データ数:32
なんです。
半年間やってみた結果、どう考えても「入力数に対してサンプル数が足りなさすぎる」という結論に至りました。
そのことを教授に伝えたのですが、できるはずの一点張り。
こちらが学生なので、そのデータで学会に論文を出していると自信満々に自慢する始末でした。
あまりにくやしいので、そのデータが間違ってることを証明してやるとタンカを切ったのですが、
なにぶん学習し始めて一年の学生では、どのように間違っていることを指摘すればいいのかわかりません。
現在論文を片っ端から読んでヒントを探しているのですが、
手がかりやヒントを知っておられる方いましたら、是非とも教えてください。
それと、私事をだらだら書いてすみませんが、どうかよろしくお願いします。
てことは単層パーセプトロン?
ソースとサンプルデータ晒してみ。
>>224 それ何の識別器?
15の特徴量はそれぞれ何?
現時点である程度識別する事はできてるの?
教授の「できるはず」って何をすれば何ができるはずっていう事?
精度を上げる事?だとしたら改良点は何?
サンプルデータは次のようになってます。一つの行が1セットで、最初の15が入力、最後の1つが出力(教師信号)です。
0.743,0.500,0.455,0.727,0.455,0.818,0.636,0.091,0.455,0.636,0.818,0.318,0.500,0.045,0.318,0.700
0.486,0.000,0.682,0.682,0.136,0.500,0.591,0.136,0.409,0.500,0.682,0.545,0.591,0.409,0.318,0.500
0.714,0.469,0.636,0.545,0.545,0.455,0.364,0.545,0.636,0.636,0.545,0.364,0.545,0.727,0.545,0.600
0.714,0.594,0.136,0.727,0.636,0.909,0.727,0.455,0.727,0.455,0.727,0.409,0.227,0.045,0.227,0.200
0.829,0.781,0.727,0.636,0.727,0.545,0.636,0.727,0.727,0.818,0.727,0.591,0.591,0.500,0.682,0.400
0.771,0.313,0.636,0.727,0.364,0.727,0.909,0.000,0.364,0.818,1.000,0.318,0.591,0.045,0.227,0.700
0.771,0.531,0.000,0.818,0.545,1.000,0.818,1.000,0.636,0.636,0.909,0.500,0.773,0.227,0.318,0.400
0.429,0.281,1.000,0.727,0.545,0.455,0.727,0.636,0.818,0.727,0.727,0.591,0.318,0.864,0.682,0.500
0.771,0.313,0.545,0.545,0.909,0.455,0.455,0.636,0.636,0.545,0.545,0.773,0.500,0.318,0.318,0.500
0.486,0.438,0.727,0.909,0.545,0.545,0.455,0.727,0.727,0.636,0.818,0.500,0.500,0.227,0.500,0.300
0.857,0.563,0.000,0.909,0.000,0.455,0.818,0.000,0.273,0.636,0.727,0.318,0.318,0.227,0.136,0.600
0.714,0.375,0.455,0.727,0.727,0.818,0.455,0.455,0.545,0.273,0.000,0.045,0.682,0.045,0.136,0.300
0.200,0.844,0.182,0.909,0.000,0.545,0.636,0.636,0.273,0.545,0.727,0.955,0.409,0.318,0.682,0.200
0.800,0.469,0.364,0.636,0.727,0.636,0.727,0.545,0.545,0.636,0.909,0.864,0.136,0.136,0.500,0.600
0.800,0.281,0.636,0.455,0.818,0.909,0.545,0.727,0.909,0.273,0.364,0.455,0.818,0.545,0.273,0.600
0.829,0.438,0.364,0.545,0.000,0.727,0.545,0.455,0.636,0.545,0.455,0.227,0.773,0.227,0.227,0.500
0.714,0.500,0.182,0.818,0.000,1.000,0.636,0.273,0.545,0.727,0.545,0.227,0.955,0.318,0.318,0.600
0.600,0.344,0.909,0.818,0.273,0.909,0.455,0.182,0.455,0.545,0.818,0.227,0.682,0.409,0.409,0.300
0.629,0.500,0.273,0.818,0.000,0.818,0.818,0.273,0.364,0.727,0.455,0.864,0.500,0.409,0.227,0.300
続き
0.657,0.500,0.818,0.727,0.455,0.636,0.182,0.182,0.091,0.455,0.636,0.682,0.409,0.136,0.682,0.200
0.829,0.813,0.091,0.636,0.000,0.545,0.455,0.636,0.545,0.545,0.727,0.773,0.591,0.773,0.591,0.500
0.629,0.391,0.818,0.818,0.273,0.727,0.727,0.364,0.364,0.455,0.545,0.773,0.591,0.318,0.682,0.500
0.800,0.094,0.909,0.636,1.000,0.636,0.727,0.545,0.182,0.455,0.455,0.227,0.682,0.591,0.227,0.400
0.629,0.391,0.818,0.727,0.727,0.909,0.909,0.545,0.727,0.455,0.818,0.409,0.864,0.591,0.318,0.300
0.857,0.656,0.727,0.545,0.636,0.455,0.364,0.818,0.636,0.273,0.636,0.773,0.500,0.318,0.409,0.500
0.829,0.438,0.455,0.545,0.818,0.727,0.364,0.636,0.545,0.727,0.545,0.318,0.864,0.227,0.591,0.000
0.657,0.594,0.727,0.455,0.545,0.818,0.636,0.727,0.636,0.636,0.727,0.591,0.682,0.682,0.682,0.400
0.914,0.438,0.364,0.364,0.273,0.727,0.818,0.455,0.455,0.455,0.545,0.318,0.591,0.227,0.227,0.500
0.829,0.656,0.636,0.636,0.455,1.000,0.545,0.364,0.545,0.636,0.818,0.409,0.591,0.045,0.227,0.500
0.314,0.281,0.091,0.727,0.364,0.909,0.545,0.364,0.364,0.545,0.636,0.500,0.773,0.045,0.227,0.500
0.686,0.219,0.455,0.455,0.727,0.591,0.500,0.227,0.591,0.591,0.591,0.455,0.727,0.182,0.364,0.000
0.629,0.281,0.636,1.000,0.909,0.455,0.818,0.182,0.455,0.364,0.727,0.227,0.500,0.045,0.318,0.300
以上です。
プログラムは、熊沢逸夫著「の学習とニューラルネットワーク」という本のバックプロバゲーション部分をJavaで書き直した物で、
普通のデータ(XORを試しました)であれば、正常に学習、予測することは確認しています。
ソースコードは?
>>226 > それ何の識別器?
> 15の特徴量はそれぞれ何?
入力は個人の性格や能力を15の分野に分け、0〜1に正規化した物で、それを元にある問題の解答率を出力とします。
実験手順は、
・32個のサンプルデータのうち、24個を学習に使い、誤差逆伝搬法で学習する。
・十分に学習できたところで、残りの8個を推測する。
・残りの8個の真の値(教師信号)と、ネットワークで推測した出力の誤差で、ネットワークの正確さを評価する
といった感じです。
> 現時点である程度識別する事はできてるの?
できます。現在のところ、どんな初期値にしても推測がほぼ±0.2に収まります。またXORで正常にプログラムが働くことを確認しました。
> 教授の「できるはず」って何をすれば何ができるはずっていう事?
その教授曰く、自分のプログラム(MATLAB)ならできるとのこと。
曰わく、「そのプログラムは教授が長年蓄えた知識でさまざまな工夫がされている」らしく、
その技術はお前に教えたからできるはず、ということらしいです。
しかし、つっこんで聞いてみるとたくさんの学習をさせて、たまたま予測が良かったものをすべて足し併せて平均を取っているだけのようです。
> 精度を上げる事?だとしたら改良点は何?
推測値と真の値との差を0.1以内に納めろ、ということでした。
もっとも、7月にはすでにプログラムが完成しており、うまくいかないというと場当たり的なアドバイスをもらうだけでしたが。
個人的には、ニューラルネットワークはたまたま予測が上手く言った物を足し合わせてそれを解としてしまえるような、
適当な物ではなかったはずなのですが・・・。
教授曰わく統計的にはうまくいくらしいですが、本当にほかの現場でも同じような手が取られているのか疑問です。
232 :
224:2007/11/15(木) 23:27:59
要約しますとこんな感じです。
・入力数15、出力数1、サンプルデータ32の成績推測で、予測が±0.1以内に収まらなければならない。
・自分で組んだ誤差逆伝搬法と
ttp://www.geocities.jp/retort_curry119/NN.htmここのBP法では±0.2が限界。
・教授は確率が良かったネットワークを足し合わせて平均してる。
どうしたいのか
・この研究の前提としてサンプルデータが少なすぎることを指摘したい
・もし上の主張が間違っているのであれば、正しいネットワークの学習法を知りたい(その場合は潔く頭を下げに行きます
233 :
224:2007/11/15(木) 23:45:05
サンプルが少なすぎる事を証明したいならサンプルを増やして精度が上がることを示せばいいんじゃないの?
さらにサンプルを用意して比較するとか、
それが難しいなら教師信号を少ない数から学習させていって精度の向上具合をグラフにしてまだ上がりそうな事を示すとか。
まぁそもそも元のデータにノイズが入ってるとサンプルを増やしても精度は或る程度の誤差を持ったまま頭打ちになるけど。
235 :
224:2007/11/16(金) 00:09:15
> それが難しいなら教師信号を少ない数から学習させていって精度の向上具合をグラフにしてまだ上がりそうな事を示すとか。
それなら出来そうですが・・・、俺ならこのデータでも十分だ!、とか言いそうで怖い・・・。
> まぁそもそも元のデータにノイズが入ってるとサンプルを増やしても精度は或る程度の誤差を持ったまま頭打ちになるけど。
それは考えてませんでした。
サンプルデータの右端の列(出力の教師信号)を見てもらえばわかるんですが、
すべての値を0.1刻みに区切ってあるんです。つまり、サンプルデータ自体に±0.05の誤差を含むんでいます。
これで誤差を持ってることが証明できますね。ありがとうございます。
>それなら出来そうですが・・・、俺ならこのデータでも十分だ!、とか言いそうで怖い・・・。
SVMって聞いたことある?サポートベクターマシン。
少ない教師信号でも未知データに対する精度がBP法より高いと言われてるから、
それと同程度ならBP法でも十分な学習ができたと判断していいんじゃないかな。
SVMライブラリはググればいくつか見つかる。
237 :
224:2007/11/16(金) 00:59:29
>>236 名前は聞いたことがあるのですが、実際にやってみたことはありませんでした。
そのSVMとBP法の予測を比較してみようと思います。
というか、これ中間層の数いくつでやってるの?
中間層のユニット数増やせば、いくらでも誤差減らせると思うんだけど
今ためしに自分の書いたプログラムで中間層の数5でやってみたら1秒かからずにここまで誤差減らせたけど
0 0.682308 0.700000 16 0.576228 0.600000
1 0.484078 0.500000 17 0.310864 0.300000
2 0.620793 0.600000 18 0.305802 0.300000
3 0.213112 0.200000 19 0.196997 0.200000
4 0.417943 0.400000 20 0.496074 0.500000
5 0.713331 0.700000 21 0.537518 0.500000
6 0.400664 0.400000 22 0.377821 0.400000
7 0.492160 0.500000 23 0.333802 0.300000
8 0.531899 0.500000 24 0.491570 0.500000
9 0.280287 0.300000 25 -0.012757 0.000000
10 0.600956 0.600000 26 0.376582 0.400000
11 0.297781 0.300000 27 0.499210 0.500000
12 0.200848 0.200000 28 0.495079 0.500000
13 0.538449 0.600000 29 0.499226 0.500000
14 0.568660 0.600000 30 0.011226 0.000000
15 0.503874 0.500000 31 0.309703 0.300000
>>238 >・32個のサンプルデータのうち、24個を学習に使い、誤差逆伝搬法で学習する。
>・十分に学習できたところで、残りの8個を推測する。
>・残りの8個の真の値(教師信号)と、ネットワークで推測した出力の誤差で、ネットワークの正確さを評価する
全然読んでなかった
最初の24個を使って学習させて、残りの8個を推測させたら全くでたらめだった
0 0.173739 0.500000
1 0.736736 0.000000
2 0.313203 0.400000
3 0.843554 0.500000
4 0.302446 0.500000
5 0.441595 0.500000
6 0.831326 0.000000
7 0.853432 0.300000
241 :
224:2007/11/19(月) 17:49:57
>>240 わざわざ実行してもらってありがとうございます。
やはりここまででたらめな推測値が出るっていうのはサンプルに一貫性がないか、
データ数が全然足りないかのどちらか(もしくは両方)だと思うのですが、
この考えはあっているでしょうか?
さあどうなんだろう?
ただ同じ構造のネットワークで24件だけでなく32件全てに当てはまる
パラメータは確かにあるわけだから、どんな初期値で24件の学習だけからでも
残りの8件をうまく予測するパラメータに収束させる方法があるのかもしれない
SVMとかいうのはどうなんだろうか
やってみた?
243 :
224:2007/11/19(月) 20:35:45
>>242 いえ、現在はサンプル数を増やしたときに、精度が上がることを証明する実験と、
中間報告の書類を書くのに手がいっぱいで、教えてもらいながら申し訳ないことに、SVMまで手が回っていません。
244 :
224:2007/11/20(火) 14:50:43
あれから学習データを段階的に増やしていき、予測精度が上がるかを実験してみたのですが、
残念なことにほとんど上昇が見られませんでした。
こうなると、もはや汎化能力の限界が0.2であるとしか思えないのですが、それを肯定するような実験結果も出せていません。
とりあえず、今からSVMでどこまでやれるか試してみようと思います。
245 :
224:2007/11/20(火) 15:52:57
なんだかスレを占有してしまっているみたいですみません。
現在、サンプルデータ数と重みの数について調べていたところ、このような記述がありました。
> 3.4 まとめ
> (1)汎化能力をもつには、学習データ数と重みの数の比率は少なくとも10以上は必要である。
3章 学習データと入力表現
ttp://cae.co.jp/ksrg/report/reportnn03.htm の一番下
入力数15の場合、中間層ニューロン数が3でも、15 * 3 + 3 * 1 = 48の重みがあるので、
データ数:重みの数 = 32 : 48 となり、比率は1にも届きません。
やはりサンプル数が圧倒的に少ないと思うのですが、どうでしょうか。
246 :
224:2007/11/20(火) 22:29:16
SVMはどうだった?
興味あるから最後と言わずもっと書いて欲しいな。
248 :
224:2007/11/20(火) 23:31:40
>>247 そういっていただけるのは非常にありがたいです。
それに、よく考えればここまでしていただいて、
ことの顛末(教授がどんなリアクションを取るか)を言わずに去るのは失礼というもんですね。
今さっきの言葉を翻すようですが、今週中に中間発表が終わりますので、
今週末ぐらいに中間発表の雰囲気と教授のリアクション、
それとできればSVMとの比較を短くまとめて上げさせてもらおうと思います。
ん、15次元で高次元てのはいくらなんでも無理がある気が。
>>249 そうかな?入力が10以上もあれば球面集中現象は起こりうると思うんだけど。
251 :
224:2007/11/27(火) 13:17:16
>>224です。先週末中に報告すると書いていたのですが、遅れてすみませんでした。
先週末に発表があったのですが、結果から書くと正しかったみたいです。
中間報告で主に、
・汎化能力を得るには最低でも数百が必要
・球面集中現象
・サンプルデータの誤差
などについて詳しく報告しました。
プレゼンが上手くなかったことと、ニューラルネットワークに明るい教授らが多くなかったこともあり、
特に質問はなかったのですが、「なぜいままで失敗に気づかなかったのか」という質問に対して、
「担当の教官が正しいと言い張っていた」と答えたところ、会場に笑いが広がりました(失笑ではなかった、と思います)
教授も同じ会場だったのですが、周りに混じって苦笑していました。
そのときに、ひとまず私の主張は認められたようで、それ以来教授との間は一応平静を保っています。
252 :
224:2007/11/27(火) 13:24:36
これでひとまず認められ、一矢報いることが出来たと思うので、私としてはこの件に納得できました。
今後は、大幅に遅れましたがニューラルネットワークの応用分野か、
もしくは今回の経験を元に、汎化能力を得るために必要な条件(サンプル数、最大誤差、重みの数など)を
研究しようと思います。
重ね重ね、力になってくださった皆さん、本当にありがとうございました。
蛇足ですが、SVMとの比較はまだ全く出来ていないので、実験できて次第こちらで報告させてもらおうと思います。
ぉっぉっ
SVMの報告も楽しみにしてる
今初めて読んだけど、頑張ったね (^^
SVMは分類器 (サンプルがどのカテゴリに入るのかを答える) なので、
回帰分析に使いたければ、SVR (Support Vector Regression) でぐぐるといいよ。
次元の呪いでサンプル数が足りない場合には、
主成分分析や因子分析 (どちらも似たようなもの) で、
次元数 (入力ユニット数) を減らせる「場合もある」よ。
SVRはBP法よりも難しいので、アルゴリズム自体を研究したいのでなければ、
ライブラリを使うといいかもね。
255 :
254:2007/12/02(日) 20:31:57
256 :
224:2007/12/02(日) 20:59:30
>>255 ありがとうございます。冒頭の優しいお言葉に思わず目が潤んでしまいました。
実は先週からテスト期間に突入してまして、SVMについて調べられていなかったんですが、
SVRというものがあるんですね。ライブラリも公開されているようで、是非活用させていただきます。
言語は一応C++も使えるので、長期的に使う予定のない現状なら、そのままC++で実験しようかと思います。
257 :
デフォルトの名無しさん:2007/12/30(日) 02:05:23
あげ
ニューラルネットワークって人工知能のことだろ?
シリコンのCPUじゃ無理なんだよ
バイオコンピューターでも開発してくれ
259 :
デフォルトの名無しさん:2007/12/30(日) 16:13:59
aho
攻殻機動隊のタチコマは、ニューロチップなるものを使用してAIを実現してるらしい。
名前からすると、チップの構造自体が自己組織化する(物理)人工ニューラルネットワーク見たいなものか。
計算機でシミュレーションすればいいじゃん。
できるかどうかは別にして。実用的なニューラルネットワークのシステムを作る場合。
計算機のシミュレーションじゃ遅すぎて使い物にならないと思われ。
実際ニューラルネットワークってでこかで実用されてるの?
うちの教授が画像診断で実用化されて、優秀な結果を出してるとか力説してたけど。
264 :
デフォルトの名無しさん:2007/12/31(月) 10:12:10
実用例知ってんじゃん
早い遅い
どこら辺が基準
もう既に実用的に使えるなら、みんな知ってるだろ。
探さないと無いような物は、実際には使えなかったもの。
研究者は実用に使えると言う場合が多いが、製品にならないと実用とはいえない。
>>265 速い遅いと判断できる実用的なものは無いと思われ。
実用的なものが出来てから判断するもの。
遅いから実用にならないのかもしれんがなw
だいぶ前から家電なんかにも使われてると甘利先生が書いてた
話題にならなくなった時が実用化された時
それはファジーじゃないのか? ニューラルネットワークを使った製品の出して。
音声認識とか文字認識とか
音声認識とか文字認識とかをニューラルネットワークで作った家電品があるのか?
普通のロジックで作られた音声認識も文字認識も一般の製品で販売され、
プリンターやスキャナーには無料で添付され。そこかしこに溢れかえっている。
もし、ニューラルネットワークで作られた音声認識や文字認識が優秀なら、
それら製品と入れ替わっているはずだが、そうなっては居ない。
ここから言える結論は、
ニューラルネットワークのシステムはいまだ使い物にならない。(実用化されていない)
273 :
デフォルトの名無しさん:2007/12/31(月) 21:31:20
普通のロジック?????
まあ、プログラムと言い換えてくれ。
275 :
デフォルトの名無しさん:2007/12/31(月) 21:45:47
普通のロジックで作られた音声認識も文字認識も一般の製品で販売され、
→プログラムで作られた音声認識も文字認識も一般の製品で販売され、
????
>>275 もっと詳しく書かないと理解できないのか?
プログラムで作られた音声認識システムも文字認識システムは、一般の製品で販売されている。
この場合のプログラムとは、ニューラルネットワークの仕組みではなく、手続き型のプログラムを意味する。
これでも足りないか?
×プログラムで作られた音声認識システムも文字認識システムは、一般の製品で販売されている。
○プログラムで作られた音声認識システムや文字認識システムは、一般の製品で販売されている。
278 :
デフォルトの名無しさん:2007/12/31(月) 22:00:37
進化型計算もここでいいですか?
ちょっと齧ってみた素人なんですが、進化型計算で得られる結果は主にアルゴリズム(計算方法)という認識でよろしいでしょうか?
結果はアルゴリズムではない。
279だが、もう少し詳しく。
一般に、進化型計算で得られる結果は、目的の値または目的を効率よく得られたパラメータの
値の事かな?
どちらにしてもアルゴリズムとは言えない。上記認識で有っているか?
有っていないなら、より詳しい説明を求む。
>>280 ニューラルネットワークのエミュレーションも手続き型の結果だからね。
その辺の混乱を、普通のロジック=ニューラルネットワークの仕組みではなく、手続き型のプログラムを意味する
のつもりで書いたのだが、短文で意味を伝えるのは難しいな。
283 :
デフォルトの名無しさん:2007/12/31(月) 22:45:01
>>281 278ds
進化型計算の結果は「進化した計算手法」だと思っている。
簡単な例だと、「1,2,3,4の4つの数値から四則演算を任意に行って10を作りなさい」という目的が設定された環境で
進化するエージェントは四則演算をパラメータとしてみてその組み合わせを目的に合うように最適化していく。
という感じで、その結果得られるのは「目的を満たすための手段=アルゴリズム」だと思っている。
284 :
268:2007/12/31(月) 23:09:44
KYずに遅レス
家電で実用化されてるのは,と言うより今実用化されてるNNはパターン認識系ではなく,BPNNの補間機能を利用したソフトな制御を行うタイプ.
だから分野はファジーと同じだが,一旦値が決まってしまえばファジーより簡単に(小さなコストで)実装できる.
他にはPOS,データマインニング,クレジットカードの悪用検出などで使われていると聞いている.
285 :
268:2007/12/31(月) 23:12:09
スマソ,上げちまった
進化型計算の目標に遺伝子のアルゴリズムが有ると思う。これは、自身のアルゴリズムを
自身で書き換えて進化してきた。しかし、現在の計算機での進化型計算は、自身で自身を
書き換えるまでに達していない。既に内包しているアルゴリズムを再発見して違う形のパラ
メーターとして最適化しているに過ぎない。これでは、プリグラムで定義された範囲内を超
える事は出来ない。これは、既に組み込まれた内容の範囲をパラメーターで指定している
に過ぎない。新たなアルゴリズムを導き出したと言えるのだろうか?
もしそれでいいのなら、コンパイラコンパイラに代表するプログラムジェネレーター総てが
進化型計算計算と大差が無い。
自身に内包するアルゴリズムを出したのでもいいなら、結果がアルゴリズムでいいだろう。
特にプログラムジェネレーターはアルゴリズムを実際に出している。
それに比べ、プログラムの動き方が変わったパラメーターが生成できたとして、
私はそれがアルゴリズムだとは言いたくない。
進化型計算が目指すものは、遺伝子と同じく自身を書き換え新たなアルゴリズムを
目つけることが必要ではないか、私はそう考えている。
286、言い回しの重なりと 計算計算の2重化、申し訳ない。
よろしければ、うまく汲み取って欲しい。
>POS,データマインニング,クレジットカードの悪用検出などで使われていると聞いている.
これに付いての知識が無いため、評価する事が出来ない。
私が参加した元々の命題。「早い遅い どこら辺が基準」に対して。
基準とは、一般に広まった結果の最大公約数的なものが必要だと思っている。
したがって、極一部の例で速い遅いの判断は不可能であると指摘したい。
なんか細かい話はよくわからんが、例えばスパコンだって汎用的に使えるわけじゃないけど「速い」んだから
一般的にどうこうってのは、あんまり意味がない気がする。
スパコンには、一般的に評価できる計算プログラムが有りますよ。
その評価プログラムの結果なら正当な評価なの?
ランキングが世界的に認められてるから正当だと思われ。
ちなみに、君のPCでも実行できたはず。
意味が通じてないみたいだからいいや。お休み。
ニューラルネットは、それが間違いなく動作するのかどうかテストするのが難しいから、
市販品には採用されることはほとんどない。
しかし、最先端のロボットなどには積極的に使われているよ。
ニューラルネットって効率悪いよな
>間違いなく動作するのかどうかテストするのが難しいから
これは目的による.したがって,
>市販品には採用されることはほとんどない
これは誤り.学習させたNNの機能は簡単にテストできる.
>>296 不可能。
NNのテストはすべての取りうる値を入力しなければならないから。
>>296 テストのことを知らないnoobかもしくは
研究室から一歩も出たことないボンボンですか?
>NNのテストはすべての取りうる値を入力しなければならない
え?
300 :
296:2008/01/03(木) 09:49:19
あのな,離散値でしか使わないNN応用も一杯あるの
それに連続値でも「分解能」ってのがあるの
コンピュータを知らない純粋数学屋さん?
296の言いたいことは分かるけど、
網羅テストが簡単に出来るような問題は
NNに向いてないんじゃないかな?
で、組み合わせ爆発が起きるような問題に対しては
テンプレートデータを出来るだけ多く持ってきてテストするしかないから、
「テストが難しいから〜」っていうのは結局どんな手法にも当てはまるんだよね。
結局、NNがそう言われるのは過程がブラックボックス的というか
人の直感から遠いから、気持ち悪いって事だと思う。
まぁ,テスト云々っていったら
「熟練工が作る鋳物は必ず成功しているか?一度ためしに使ってうまくいったから成功といえるのか?」
というもんだからな
>網羅テストが簡単に出来るような問題は NNに向いてないんじゃないかな?
実際にそういう応用が多いという事実が答えでしょう
これは俺の推測だが,実際の応用は組込みシステムでのデータ量や計算量の圧縮的な用途が多い様な気がする
普通のやり方でもできるけど表が大きくなるとか計算に時間が掛かるとか
>>303 確か前に計算したことがあるが、適切なアルゴリズムを用いればNNよりもあらゆる面で効率的に処理可能だったと思うぞ。
そりゃハードと問題(必要な機能)に依存するはず
常に成立するとは思えないし,少なくとも証明は不可能だろう
32 or 16 bit 程度の積和演算だけはやたら速いプロセッサもあるし
積和演算といえばDSPか
最近?はマルチメディアプロセッサなんてのもあるな
>>309 浮動小数点数演算に特化して、しかもマルチコアだから、
それように作ったプログラムなら普通の数十倍出るかもね。
ただし、計算順序を工夫したりする必要はあるだろうけど。
CELLクラスタに俺の脳を移植してよ
それはいい考えだな
まずはコンパクトな脳から試すのがいいね
さて、そろそろ論文締め切りが間近だが、
切羽詰った状況でなぜか部屋の掃除がしたくなるのは俺だけではないはずだ
俺も現在似たような状況だがドラクエIVのDS版を始めてしまった。
>>314 あ〜そりゃもうやめられないな
お前、今回は落としたな
代わりに書いてやろうか
ニューラルネットで、論文生成するプログラム組んだらいいんじゃない?
>>317 論文の内容を悩むところだが、
ニューラルネットで論文生成するプログラム組む方法を論文にすればいいんじゃね?
321 :
デフォルトの名無しさん:2008/01/17(木) 07:21:32
生データから抽出すべき特徴量を決定する指針ってある?
あれば教えて欲しい
主成分分析
あ,判別分析の方がいいかも
324 :
デフォルトの名無しさん:2008/01/17(木) 12:54:47
なるほど
ググって調べてみる
サンクス
325 :
デフォルトの名無しさん:2008/01/22(火) 23:36:24
ニューラルネットワークで密や疎というのはどんな事を意味するんですか?
スパース表現のことか? それなら
「神経回路網モデルとコネクショニズム」甘利俊一 [補稿]黒崎政男
東京大学出版会 認知科学選書22 ISBN4-13-013072-2 1989年初版
の 5.4 スパース符号化による連想記憶
が参考になる.図書館で探して
327 :
デフォルトの名無しさん:2008/01/23(水) 07:27:44
それみたいです
本も調べてみます
ありがとうございます
本が見つからない場合に備えて簡単に書いておくと,
データをどの位粗く表現するかってことで(マンマや),
例えば0〜15の整数を4bit(4本)の二進数で表現するのは(情報量的に)最も密な表現.
これに対し,入力の線を16本用意してそのどれかを1にするのはやや疎な表現.
100本位用意して適当な数本(一本もあり)を1にするのは疎な表現.
1000本だと凄く疎な表現(こういう区別そのものは厳密ではないし,決まっているわけでもない).
大切な事は,疎な表現を採用すると連想記憶のの記憶容量を増やすことができる点.
BP学習の場合は収束が速くなる(密な表現だと凄く収束し難いことは経験的に良く知られていた).
なるほど〜
すごく分かりやすい
ありがとうございます
ニューラルネットワークでの株価予測について質問です
いくつかの論文で,予測株価と実際の株価の誤差を取るのではなく,方向一致率と呼ばれるもので判断しているんです
方向一致率は,上下変動が一致した回数を予測した回数で割ったものです
これって単純に誤差を取るよりもどんなメリットがあるのでしょうか?
ソースはあっても無くてもいいので,どなたか教えてください
>予測株価と実際の株価の誤差
は評価でき(るほど上手くいか)ないから代わりに使ってるんだと思われ
>>330 質問には答えられないのだが、参考までに
ニューラルネットを使った株価予測の論文を読んでみたいです。
よければ、ポインタを教えてください
>330
株を売り買いして利益を出すには株価そのものを予測する必要はなく
その時点から直近で上がるか下がるかだけ予測できれば良いから。
実用的に必要最小限の予測をしている(方が予測が当たりやすい)から
だと思われ。まあ、変動があまりに小幅なら売買手数料のために逆に
損する可能性もあるが。
GPUを使った実装というのに挑戦してみた。
オライリー本のAI入門に載ってる内容を弄っただけだし
CPU版の実装よりクソ重いしと散々だけど動いてくれて嬉しいぜ…。
チラ裏
335 :
デフォルトの名無しさん:2008/01/28(月) 09:11:15
上がるか下がるか当てるだけを評価するなら
ぶっちゃけ学習自体も regression じゃなくて classifier で良いような?
337 :
デフォルトの名無しさん:2008/01/28(月) 17:19:14
ところで、データの娘の名前が思い出せない。
>>334 へぇ、そんなのできるんだ。
昔ちょっとだけDirectXいじってたんだけど、どうやってしてるの?
最近のGPUだったらピクセルシェーダーとか使ってるのかな。
もしデバイスのIOを直接叩いてるんだったら、かなりのもんだね。
shaderだろJK
GPGPUだね
341 :
デフォルトの名無しさん:2008/02/01(金) 16:49:06
ニューラルネットワークのプログラムを組んでみたんですが、バグのせいかどんな入力に対しても同じ値しか返しません
原因としてどのようなことが考えられるか、教えていただけないでしょうか?
だったらソース晒しなよ
>>334 CPUより遅かったら意味ないじゃんw
でも、素子数が増加しても並列計算でスピード変わらん!とかあるのかな?
void back_propagation()
{
int i,j;
double dih[Hneuron],dho[Oneuron]; //誤差
double sum;
for(i=0; i<Oneuron; i++){
dho[i] = signal[i] - oout[i]; //出力層の誤差の計算(出力はシグモイド関数にかけてない)
}
for(i=0; i<Hneuron; i++){ //出力層の重み修正
for(j=0, sum=0; j<Oneuron; j++){
dwho[j][i] = ( Eta * dho[j] * hout[i] ) + ( Alpha * dwho[j][i] );
who[j][i] += dwho[j][i];
sum += ( dho[j] * who[j][i] );
}
dih[i] = hout[i] * ( 1 - hout[i] ) * sum; //中間層の学習信号
}
for(i=0; i<Oneuron; i++){ //出力のしきい値修正
dothreshold[i] = ( Eta * dho[i] ) + ( Alpha * dothreshold[i] );;
othreshold[i] += dothreshold[i];
}
for(i=0; i<Ineuron; i++){ //中間層の重み修正
for(j=0, sum=0; j<Hneuron; j++){
dwih[j][i] = ( Eta * dih[j] * iout[i] ) + ( Alpha * dwih[j][i] );
wih[j][i] += dwih[j][i];
sum += ( dih[j] * wih[j][i] );
}
}
for(i=0; i<Hneuron; i++){ //中間層のしきい値修正
dhthreshold[i] = ( Eta * dih[i] ) + ( Alpha * dhthreshold[i] );
hthreshold[i] += dhthreshold[i];
}
}
コンパイラはBCCを使ってます。
>>341 ソースまだ見てないけど、学習後の重みをファイル出力してみて、
全部0とかになってたら、BPの実装ミス。
そうでなかったら、全部同じ出力とかにはならないだろうから、
入出力間の伝搬のミスってことになる。
重みがそれっぽい感じになってて、出力も学習元のデータからして異常とは言えない数値になってます。
具体的には、
学習させた結果の重みを別のプログラムに読ませて、foward propagationだけを行って予測させる。
その予測された結果を入力の一部として使って、さらに次の予測をさせる
という風にしているのですが、最初の予測結果と2番目以降の予測結果が全く同じになります。
何回学習させても重みが変わらなかったり、1回目だけ変わってその後変わらなかったりするのでback propagationに問題があると思って途中の重みやその変化量を表示させているのですが、原因の見当がつかず困っています。
>dho[i] = signal[i] - oout[i]; //出力層の誤差の計算(出力はシグモイド関数にかけてない)
そもそもこれが許されてるのかどうか俺は知らんのだが、
>dih[i] = hout[i] * ( 1 - hout[i] ) * sum; //中間層の学習信号
シグモイド通してないなら x*(1-x) が出てくるのはおかしくね?
349 :
341:2008/02/01(金) 20:08:23
>>348 中間層の出力はシグモイド関数にかけてるのでそこはあってると思います
> dwho[j][i] = ( Eta * dho[j] * hout[i] ) + ( Alpha * dwho[j][i] );
dwho[j][i]決めんのにdwho[j][i]使ってるけどこれっていいのかな?
時系列扱わせているみたいだから、前時刻の修正量を重みAlpha反映させたりしてるの?
あと気になるのは、sumに足しこむのがwhoとかの修正前な気がする。
まあ、自分のコードと大分違うんでわからんけど。
多少面倒だが、いきなり目的のデータ使うんじゃなくて、
y = sin(x)のような既知の単純な学習データで検証するのも手かもしれない。
しきい値に関しては定数入力を用意して重みで実現する方が
プログラムがすっきりするし高速化し易いから定石なんだよね
この実装は普通のとかなり違うからコードだけじゃ分からないねぇ
元の式から書いた方がいいと思われ
元式の微分周りにはミスはない?
352 :
341:2008/02/02(土) 23:38:31
すいません。
BPではなく、最初に重みとしきい値を乱数生成する部分の範囲がおかしかったようです。
ご迷惑おかけしました。
>>323の判別分析をググってみたんだが
これでNNに入力する特徴量を選択をする場合、
あるデータに対して特徴量ごとに判定結果を算出して
その結果をもとに特徴量の有効性を計算するの?
それとももっと正確な指標が数値で出るの?
>生データから抽出すべき特徴量を決定する指針
の話だったから(分類用なら)判別分析で固有値が大きい方から順に
と思ったのだが.
学習済みの NN の隠れ層に形成された特徴の寄与率を評価するのは
また別の話になると思う
定番というのは知らない(あるのか?)が,
例えばあるニューロンを一個切り離して成績を比べるとか
今回の卒検でjooneとかいうjavaのニューラルネットワーク・ライブラリを使おうとしてたんだが、
正直失敗した。
がんばって英文を読んだにもかかわらず、使いにくい設計、やる気をそぐスペルミス(cycle->cicle)など、
三日がんばったんだが、結局自作のプログラムに戻した。
そしたらやろうとしてたことが十分ぐらいでできてまた泣いた。
もうこの際みんなでオープンソースのライブラリ作らない?
面白そうだとは思う。
しかし言いだしっぺが大まかな仕様や実装例を上げないとgdgdになる法則。
俺はニューラルネットに全然詳しくないのだが、
こういう分野の理論ってライブラリ化できるものなんでしょうか?
俺みたいな詳しくなくてもコンポーネント的に簡単に使えるようになると、
すごく面白そうな悪寒。
haskellのfgl使ってろや
ニューラルネットとか言っても所詮はグラフ
日本語でOK
まだ大学1年生でコンピュータサイエンスは素人同然なのですが、
ニューラルネットって重み付きグラフというものとは違うものなのですか?
>360
ただの情報(データ)表現の一種であるグラフ(重み付きでも)と
情報処理装置であるニューラルネットをどうやったら混同できるんだ?
時間という流れるものに犯されすぎ
え、ぜんぜん関係ないんですか?
ニューラルネットは重み付きグラフで表現できない??
接続関係だけ表現しても道路地図や路線地図と何も変わらん
簡約によって副作用が生じる場合と生じない場合で「表現すること」と「計算すること」の同値性が崩れる場合があって,
「表現するだけでは足りないのだよ・・・副作用は表現では現れない」という結論を導きたかった.
具体的に言うと「ニューラルネットワークは重み付グラフで表せますか?」は
「ニューラルネットワークは自身の重みを時間の推移に従って書き換えていく(副作用)があるので,あらわせない」だ.
で,簡約で副作用を容易に持ち込めるlispを使って例を挙げたかったがあきらめた(^p^
重み付き非決定性グラフとかあれば表現可能かも
>>365 別にそういうアルゴリズムは副作用なくても表現できるんじゃないの。
だって、NNの推移って、グラフからグラフへの関数を一定時間ごとに呼び出すだけでしょ?
どうやら「表現」に関して認識の差があるみたいだ
語彙が足らなくてうまく伝えられないから引っ込むぉ
ニューラルネットにとって時間の推移(時間発展)は
本質的だと思うけどな。
そういう意味で(副作用の無い)関数とは全く異なる。
そう言えば「副作用」って大抵、時間に関係してるな。
「時間」の推移による変化も完全に記述できる「述語論理」が
まだ発明されていないと言うのが大きいのかな?
>>369 たとえば、Haskellの場合はIOモナドに処理手順を閉じ込めてしまえば、main関数の終了時に順番に実行してくれる。
遅延評価だから、停止しない処理も記述可能。
1ms毎に関数を無限に適用し続けるといった処理も(言語仕様上では)副作用なしに記述可能。
>>369 たしかに、そうだな。
仕様記述言語のZという言語を研究で使ったことがあるが、たしかに時間に関する記述はできなかった。
>370
うん。
しかしHaskelの場合であっても時間による副作用を
全てI/O処理(言語仕様の外側)に閉じこめているだけであって、
時間発展(副作用)のある系の記述を無い系の記述に
全て変換してしまえるわけじゃないだろう?
結論として
「副作用の全く無い関数型言語のみで記述できるアルゴリズムでは
時間発展のある系の完全なコントロールはできない」のだと思う。
コントロールしようとするとどうしても
アルゴリズムの中のどこかで副作用を意識せざるを得ない。
>367の間違いはニューラルネットの重み付け更新
(NNの推移)はその出力に依存する事を忘れている事だと思う。
即ちNNの機能は処理の時間的順序関係に強く依存している。
昔々,Prolog で I/O もバックトラックしたら
という話を思い出した
ちょっと訂正
>375は「NNの推移はその入力に依存する」がより正しいな。
入力がすべて既知とするなら出力は先に計算できるわけだから。
提示される未知の入力に対して(その一部を)記憶し
適応するからこそ時間依存の(時間で発展する)系なわけだ。
もうひとつ結論
「記憶し、学習し、適応する」=「副作用」
結局、NNのデータ構造はグラフってことでOK?
>379
いき値固定でかつ各ニューロンの情報処理(計算)機能を
省略して表現するなら。
また静的な重み付きグラフならある時点での
(データ構造の)スナップショットと言う事になるな。
それNNじゃないしw
もちろん静的重み付きグラフはニューラルネットそのものではない。
ただし処理のアルゴリズムとは区分されたデータ構造では有りうる。
条件付きでだが。
383 :
360:2008/02/08(金) 21:47:24
ノードのラベルに閾値を割り当てればいいですか?
>383
純理論的にはそう思うけど。
ただBPとか実装しようと思うと他にもいろんな変数を使う必要が出てくると思う。
各ニューロン毎に保持したり、恒常的に保持する必要は無い変数だろうけど。
385 :
360:2008/02/08(金) 22:27:23
>>384 その点は問題ないと思いますよ。
ノードのラベルの型を代数的データ型にするか、ペアで表現すればよいと思います。
学習によって全体的な誤差を小さくしていくと、最大の誤差は逆に増えていくのですが
この問題を解決する手法って何かありませんか?
全体的な誤差って何? 最大の誤差って何?
解決って具体的にどういうこと?
総誤差関数の値が小さくなるように学習を続けると
特定の入力バターン(誤差が最大のもの)に対する誤差が
逆に大きくなると言う事でしょう。
その入力だけ元々パターンから外れている
(ノイズが乗っている)て事は無いのかな?
解決したいってのが,
それも含めてフィットさせたい
ってことなら考え直した方がいい
391 :
デフォルトの名無しさん:2008/03/08(土) 20:36:24
ニューラルネットを使った株価予想って具体的にどうやってるんですか?
現在から過去何単位時間かの株価の推移の情報を入力し、次の単位時間での株価を出力
393 :
デフォルトの名無しさん:2008/03/08(土) 22:46:50
>392
なるほど、ありがとうございましたm(_ _)m
>391
共立の「ニューラルネットの基礎と応用」と言う本に「株価予測への応用」
と言う節があって、ほんの10ページくらいだが著者の一人(馬場則夫氏)が
作ったシステムが紹介されている。
それによると入力変数は
X1:前日の終値 X2:前日の変化 X3:昨日の出来高/1週間前の出来高平均
x4:昨日の出来高/先月の出来高平均 X5:出来高変化 X6:今年の最高値- 前日の終値
X7:(前日の終値 - 3年前までの最安値)/(3年前までの最高値-3年前までの最安値)
X8:50-PER X9:株主資本変化 X10:一株益変動 X11:株価変動 X12:円ドルレート変動
X13:1ヶ月後の増資予想 X14:ダウ平均の変動 X15:公定歩合
の15。後、2出力(上がるか下がるか)、隠れ層は2層だそうな。
内容については良く分からないので自分で本か論文に当たってくれ。
この手のシステムは本当に使い物になったら秘密にされるので
最先端は公開されないことに注意
まぁまだ実用には程遠いと思うけど
と言うか誰でも簡単にそのまま真似できるほど詳しい内容は普通、公開されないよ。
だが飽くまで研究目的の参考にしたいと言うなら先行研究がいろいろあるはず。
本当に物にしたければ自分で研究するしか無いだろう。
ニューラルネットの素人目に見てだけど・・・
>>395 どうモデルにするかで全然違ってきそうですね。
どこに注目するか?というか。
>398
現状のような外部要因でひどくグラグラ振れるような市況だと
何年も前に作ったシステムはもはや通用しなさそうだね。
円ドルレートだけじゃなくサブプライムがどうしたとか、
モノラインも危ないとか原油1バレル何ドルになったとか
いろいろな事を加味しないととてもまともな予測にならない
ような気がする。
俺も株価予測の真似事してたけど、結局そこなんだよな。
影響範囲が広域すぎて、正攻法で学習させようとすると重み係数が多くなり過ぎちゃう。
多分NNの多段化やGA組み合わせればちょっとはマシになるんだろうけど、
基礎研ではそこまでできんかった。
FRBの議長の失言とかもあるしなぁ
考慮すべき要因が多すぎるし、影響力も定量的には計れない。
NNだけで扱いきるのはむりぽ。
NNとは別に、その辺の事象を十分に少ない特徴量で表現する研究の方が重要じゃね?
403 :
デフォルトの名無しさん:2008/03/13(木) 18:58:19
意味のある特徴量をGAとかで検出できたらいいかも
>GAとかで検出
GAが何か分かって言ってる?
PCAやAIC辺りなら兎も角
405 :
デフォルトの名無しさん:2008/03/14(金) 19:35:33
>>395 素人目でみてなので 突っ込み希望なのですが、
>>395みたいなのって、結局のところ、
多数のパラメーターからニューラルネットで最適値を見つけるように見えます。
そうすると(株でも先物でもいいのですが)システムトレード的には、
パラメータが多くなればなるほど、
過度の最適化というか、カーブフィッティングのようになってしまい、
未来の予測(といっていいかわかりませんが・・・)をするには不適ではないかと思えてなりません。
これは、モデル化の方法などでカバーできる問題なのでしょうか?
入出力が実数とは限らない
機能を入出力とすると ほ〜ら
誰かSSE,MMX,デゥアルコアに完全対応していて
なおかつ入力出力サイズが可変出来て状態保存の可能な
NNのWindows Cライブラリを作ってくれまいかね
いやもちろん細部はアセンブラで超高速なわけですが
>>407 仕様とアルゴリズムを決めてくれたら作ってもいいけど。
アルゴリズムは教師信号を持ったバックプロバケーション
構造は選択式
単位データは32bit整数
必要なメモリを確保する関数
・入力信号の配列数
・出力信号の配列数
を指定すると確保したメモリのポインタを返す
教師信号配列を渡す関数
学習する関数(同期型と非同期型)
実行する関数(学習したものを利用するだけ、同期型と非同期型)
非同期用コールバック
学習情報を取得する関数
ファイルの保存はあっても無くても良い
あるなら圧縮保存出来ると良い
ハードウェアアクセラレータは自動検出し最適なコードを実行する
こんなんでどうでしょう?
>>409 >教師信号を持ったバックプロバケーション
このあたり、もう少し具体的に書いてくれ。
詳細な説明のあるサイトへのリンクでもいいし、サンプルコードでもいい。
当方最適化は得意だが、NNの知識が足らないので。
いろいろ調べてたらGPGPUのほうが早いらしいので却下w
412 :
デフォルトの名無しさん:2008/03/18(火) 22:14:51
Cellも早いらしいぞ
俺の方が早い
Cell B.E.でニューラルネットワークを実装した研究例ってあったっけ?
Cell&Neural Networkで検索してもCellular Neural Networkとか
細胞の方のCellとニューラルネットワーク関連の話しか出てこない。
お前らちょっと聞きますよ
バックプロパで重みをランダム修正するじゃない
すべてのパターンで正常な結果が出たら完了じゃない
これって古い学習結果をある程度保持したまま
随時新しいパターンを学習していくって方法はないのけ?
画像認識だとものすごい量の学習サンプルが一度に必要になるじゃない
随時で学習できればいいのにと思うのです
そういうアルゴリズムってあるのですかね?
多峰性とか局所最適解とか考えた上での発言・・・とは思えない
>>414 去年、サクシスって学会で賞をもらってた人がやってたような気がする
>>416 ペッ
>>417 ありがとう、そういうことです
過学習かどうかの判断は結局プログラム的には無理だから
人為的に止めることは考えてますとも
ニューラルネットって懐かしいな
その昔、甘利さんの本に二足歩行の最適化てのがあって憧れたんだが
今思うと嘘臭いよな。現実的な時間で収束すると思えないし
二足の自律歩行モデルなんて当時はロボティクスの人でも出来てないだろ
>420
反論したいんだが、何らかの根拠を示した反論ができない。
ちなみに二足歩行ではどうか知らないが、倒立振り子を
ニューラルネットでうまく制御したと言う研究をかなり
昔にTV番組か何かで見たな。
傾き具合をカメラで検出しながらレールの上で台車を
左右に動かして制御する方式だったと思う。
(二足歩行よりはるかに簡単だったとは思うが)
確かに倒立振子だと出来そうだけど、どう考えても解析的に解いたほうが良さそう
他の手法よりもニューラルネットが最も適するような問題って何かあるんだろうか
それが見つからない&学術的につまんない->飽きられる->予算取れない->今に至る。で、あってる?
>422
倒立振り子のてっぺんに腕を付けてさらにその両端に小さな振り子を
付けたりしたら(つまりカオス振り子に仕立てたら)解析的に解いて
制御する事はもはやできんだろう。
ニューラルネットでうまく制御できるかどうか、やってみないと
分からないし、そんな事に何の意味があるのかと問われると困るが。
解析的に解かなくても制御できるのがNNの利点なのだが
例えば人間の腕なんて解析しようにも必要なパラメタの測定が大変だし
一回測定してもどんどん変化しちゃうわけで
人間の腕なんて解析して何に使うんだよ
>425
高度な義手あるいはロボットアームの開発
パラメタを測定してモデル化というのはバイオメカニクス的手法なんだろうが
それならニューラルネットを利用できるかも知れない
やっぱりそれが最適とは思わんけど
運動学・動力学的な束縛を解く手法はここ10年程で物凄く進んでいる
わざわざ不安材料の多いニューラルネットを導入する必要はないはず
倒立振子も3段の制御に成功したというのをどこかで見たがソース失念
例えば家庭用あるいは介護用ロボットで物を扱う場合
対象の質量やモーメントを事前に測定しておくことはできない
こういう物に対応させるには何らかのadaptiveな手法が必要
その一要素としてNNを使うのが現代的
NNだけでやれることは非常に限られるし
高次元でグニャグニャ曲がった未知関数を近似したいと言う時、
バックプロパゲーション型のニューラルネットは有用だと思う。
特定の応用にどんなものがあるのかは良く知らんが。
>>428 学習したカテゴリに属さないお婆ちゃん(ってどんなのかは知らんけど)は放り投げられたりして。
まあ冗談だけど。
>>429は何か応用例があったら知りたい。
それでも解析的に解けない問題には数値演算(反復解法)があるし
ニューラルネットとは違って計算を打ち切った時点なりの精度は得られる。
>430
数値演算で解くためにはともかく方程式を立てる必要があるでしょう?
微分方程式なり何なりの形で。
対象にしているシステムの性質に未知な部分が多くて、その方程式
自体が立てられないと言うような状況にニューラルネットは有用。
関数近似器になると言うのはそういう意味。
いったん近似できたら後はその極大値(極小値)を探すと言うような応用。
対象となるシステムをじっくり観察して、それを単純で理解可能な
部品にまで分解し、次にそれら部品同士の関係を方程式で記述して
システム全体を表現しようと言う(特に物理学などに)伝統的な
考え方がある。
いわゆるデカルトの還元主義。
それと正反対に内部の仕組みは良く分からないが、そのシステムの
入出力関係に着目してその動作を真似しようとか予測しようとか言う
考え方に立ってるのがニューラルネットその他の学習機械だと思う。
あ、把握しました。ありがとう。
>>420 これって共著が出村先生じゃないか。
それだったら出来たかも知れんね・・・
私は読んだ事無いけど「脳とニューラルネット」って本の事を言ってる?
ググったらそれが出てきたんだが、題名は覚えてないんだわ。
時期的には多分。
実際近似になってるのかね?
単なるハッシュデータベースと同じようなものの気がする
それはそれで応用範囲はあるわけだけど
そこんところが発展の妨げになってるな
NNはただの情報蓄積装置だと考えると今応用されてるものが当然の結果だと分かるし
それ以上が不可能だということも了解出来るだろ
人間の脳は固定長じゃないんだよ
特定の作業を繰り返して情報量が増えると自動的に別の部位を加えるようになってる
目が見えない人は音声解析能力が飛躍的に上昇するのは目に使っていた領域を
耳に置き換えたからだ
NNはそういうことを前提にしてないでしょ
コンピューターでNNの領域を増やして安定させるってのは難しいだろうので
単純化するには単純に自動膨張タイプのマルコフ連鎖データベースにするのがいいだろう
ただマルコフだと近似算出に膨大な計算が必要になるんだよな
>436
どういう応用形態を前提に考えてるのか良く分からんが、
単なる(ハッシュでもなんでも)データベースなら訓練用データに
存在しない無いポイントの値を参照しようとしても不可能だろ?
ニューラルネット(あるいは他の関数近似手法)なら
データに無い途中や端にあるポイントの値も答えてくれる。
いわゆる般化能力。
440 :
デフォルトの名無しさん:2008/03/29(土) 00:08:35
>437
>217で紹介されてるが「自己増殖型ニューラルネットワーク」
なんて物も考えられているらしい。
どういう物かあまり良くは知らないが、必要な箇所のニューロンを
増やして(増殖して)学習、識別能力を上げようと言う試みのようだ。
間違えてアゲちまった、スマソ。
こう考えると分かりやすい
特定の文字列を与えるとSHA-1ハッシュを吐くNNを組んだら
確かにそれは実用的で実行速度はまじめに計算するより早い
記憶に無いデータも学習した計算方法からなんとなく答えを出す
それ以上でもそれ以下でもなくただのハッシュ関数なんだよ
実用的な速度で動くし答えは適当だけどそこそこの正解率はある
途中の計算を省略したハッシュ関数みたいなもんだ
そこそこ正解率あるのかなぁ
あればあんまりいいハッシュ関数とは言えないような気も
ちょっと気になり始めた
>442
オイオイ、そりゃニューラルネットをハッシュ値の
生成に使えばある種のハッシュ関数だろうさ。
だからと言ってニューラルネットを単なる
ハッシュ関数の一種に過ぎないと言うのは暴論だろ?
例えば普通のハッシュ関数で連想記憶やパターン認識を
実現できるかい?
それともデータの類似度を定義してそれを表現するような
特殊なハッシュ関数を想定してるのかな?
ちなみに(言うまでもない事だが)
ニューラルネットが関数近似器としてその実用性を
発揮するのは元となる関数が「未知」の場合だよ。
つまり入力データと出力データのセットのみ
与えられていて、その関係は不明な場合だ。
(そのような現象は現実に山のように存在する)
最初から関係が既知であるのなら
その関数を使えば良いだけなのだから。
とりあえずfirst class objectって何なのか考えるといいよ
>446
何でプログラム言語の話が唐突に? 誤爆?
>>445 まさにその通り
関数が未知の場合にだけちょっとだけ役に立つ「アルゴリズム」の一種でしかない
もっとわかりやすく考えよう
SHA-1からキーを解読するNNを組んだとしよう
むちゃくちゃ早いが正解率は低いw
一時しのぎの解決手段だな
正確な解答を得るにはマルコフの統計をとるのが一番良い
ただこれは情報量がすさまじいことになる
最近のPCは大容量なんである程度はいけるだろう
問題は近似算出だな
大量にあるデータから一番近い2ペアを探しだしてその中間値を返す
この計算量がばかでかい
簡単に言えばだ
SHA-1の解読処理をしようと思ったら
SHA-1ハッシュとキーのペアデータベースを作るのが一番早いし正確だろ?
何でSHA-1ハッシュの解読処理にこだわってるんだ?
そういう厳密性を要求される処理にニューラルネットが
向いているとは始めから思えないし。
誰もこだわってないよ?
じゃあ、ニューラルネットの適用課題としてはそもそも不適切。
(始めから向いていない応用)
ハッシュテーブルになぞらえるとは...パッチワークが正解だろ
あとill-posedな問題にも使えるという利点もある
>454
ill-posedな問題って何かと思ったら逆問題の事か。
で、「パッチワーク」ってどんな応用の事?
もしかすると電子透かしの話かな?
データマイニングや統計解析で使われているって本に書いてあったけど本当?
>>453 それが何か?
そんな事はわかった上で話してるんだよ。
(話が低レベルだなぁ・・・)
(・∀・)クスクス
ああ、有袋類の猿みたいな生き物。
Ill-posedは不良設定問題
拘束条件が自由度より少なくて解が一意に決まらない(から解析的に解けない)
しかしill-posedって言葉を知らないってことはNNの事を全然勉強してないんだな
>462
Thanks.
ニューラルネットの事は確かに大して勉強してないが、
俺の持ってる(唯一読んでる)ちょっと古い本には
"ill-posed"なんて用語は載ってないんだよ、
"逆問題"なら載ってるが(洋書じゃないし)。
(大学等で真剣に勉強した人にはとても適わないぜ)
ところで誰か、"Practical Neural Network Recipes in C++"
と言う本持ってる人(or 読んだ事のある人)居る?
いろんなニューラルネットのプログラム例が載ってるらしい
のだが分かりやすいかな?
本屋で偶々「ゲーム開発者のためのAI入門」と言う本を見かけたので
読んでみたらニューラルネットのプログラミングの参考文献として
薦められてた。
日本語の本でニューラルネットプログラミングの参考書は
ほとんど無いよね。「Cでつくるニューラルネットワーク」は
かなり古いし(プログラム例がNEC98シリーズのDOS前提)
ニューラルネットワークって巷で数十年前から噂のエージェント指向もカバーしている?
>>464 エージェント指向なんて言葉は一部の人間(大したことないのに特別な名前を付けて特別な技術として売りたい人間)
しか使っていないと思うが、意味している技術なら既に一般的に使われてるよ。
そういう意味ではニューラルネットワークも大したことないな
ああ、それからエージェント指向とニューラルネットは全くの別物。
>464
アクターモデル、マルチエージェントシステム、ソフトウェアエージェント
などの見出しで(日本語の)ウィキペディアに解説があるよ。
それらを読む限りではニューラルネットとは直接的には何の関係も無いと思う。
(エージェントに自律性を与える手段としてはあり得るのかも知れないが)
>466
意味が分からん。
>464
アクターモデル、マルチエージェントシステム、ソフトウェアエージェント
などの見出しで(日本語の)ウィキペディアに解説があるよ。
それらを読む限りではニューラルネットとは直接的には何の関係も無いと思う。
(エージェントに自律性を与える手段としてはあり得るのかも知れないが)
>466
意味が分からん。
470 :
469:2008/04/01(火) 15:37:40
いかん、二重カキコしちまった。
スマソ!
エージェント指向って言葉は4,5年前にちょこっと見かけたっきり最近は全く見なくなったね。
みんなありがとう
確かにニューラルネットは意思決定とか行動決定の段階で使われる感じだったな
エージェント指向はオブジェクト指向以上にわからんが,エージェント指向プログラミングならわかる人間でした
1980年代の論文にAIとか人工知能とかファジーとかいう言葉が書かれてあると自分まで恥ずかしくなってくる。
それでも理系はまだマシだよ・・・
査読をかいくぐってポストと予算を獲得するのがプロの学者なんだろうな
頭のいい人間が衒学的なことをするんだから性質が悪い
俺の事か
とゲーテ言い
>473
誰だって自分の書いた論文を後から読み直すと恥ずかしくなってくると思うが。
そういう羞恥心をある意味捨て去って(あるいは本当に偉大な研究をしてると
舞い上がって)論文を書き続けられないと職業的研究者になんかなれないのだ
と思う。(俺は憧れだけ持ってて成れなかった口だが)
最近、一番自戒してるのは「こんな事は誰でも思いつくだろう」とか
「こんな研究は誰か既に実行していて成功/失敗してるだろう」と
勝手に決め込んで自分のアイデアを簡単に捨ててしまう事。
確かに何気無く追求してみたら世界一や世界初だったって事はあるな。
俺も経験あるわ。
運
子
研究者畑ってそういう妄想に襲われるんだ・・・・なるほど
いや、マジで狭い世界では世界一になるのは簡単だからね。
うん
485 :
デフォルトの名無しさん:2008/04/03(木) 14:04:08
なんだ愚痴の書き込みスレになってるな。
日記じゃないんだからw
便所の落書きに日記を書いて何がわるい
何らかの意味で世界一あるいは世界初の研究を
ものにしない限り、博士号なんか取れないよね。
もちろん狭〜い範囲に限られた世界一が
ほとんどなわけだが。
ところで複素ニューラルネットワークって何が嬉しいんだろう?
普通の(実数型)NNよりパラメータ数の割に能力が高いとしたら
それはなぜなんだろうか?
>>488 興味深いですね。学生でもない素人ですが、
NNの肝は複雑さだと直観的に思えるので、
複素数を用いた方が複雑さが増していい結果を
もたらすのではと思ってます。そもそも
学習したNNがなぜ知能があるように振る舞う
のかということすらわかっていないわけで、
錬金術のごとく、ひたすらこねくり回すことが
大事なんじゃないかなと。
>学習したNNがなぜ知能があるように振る舞う
寡聞にして初耳だが
そっか
知能の定義によりますね。
「ように」ってのでどこまで許容するかにもよるな
細胞性粘菌の振る舞いに知能があるように感じるかどうかも問題だな。
全体にベターッと広がってから最短経路に集まる様子には知性を感じない。
>>494 俺は489の書き込みにも知能は感じない
そもそも知能とは何なのか。
497 :
デフォルトの名無しさん:2008/04/07(月) 13:27:32
知能があるようにってのは
最初に意図してプログラムしていたのと違う結果を出す
ってことだべ。
知能とは何かなんて、知能なんて言葉を使わなければ考えなくていいよ。
だから、最近は論文に人工知能なんてタイトルを付ける人がいなくなったんだろ。
自分の書いたプログラムが意図と異なる結果を出力したらそれが知能です。
それなんてバグ?
>>488 NNの節の数が増えるのと同じ効果が得られるだけじゃなかろうか?
情報科学や工学的利用価値にしか関心のない
人からしたら知能なんてことを哲学的、科学的に
追求する必要ありませんからね。
>>501 よければそういう考察に至った経緯を教えて
ください。
>501
それだと複素ニューラルネットワークに
特別な有り難みは何も無いと言う事になるね。
節を増やしたのと同じ効果しか得られないのなら。
複素じゃなくても入力値又は出力値をを或る関数に通せばNN段階で学習する関数の形が簡単になって
汎化能力や精度がよくなる事があるのと同じ原理ではないかと予想
NNの節数を2倍にすると複素ニューラルネットワークと同等のものは構築できる
複素数を使うこと=制約条件 になってるからその辺になにかいい事があるのかな?
構築できるっていう根拠あるの?
先行研究なんかの論文があれば教えて欲しい
>506
二つの実数(実数のペア)に特定の演算ルール
(演算ルールに対する制約条件)を課したものが
すなわち複素数。
複素ニューラルネットワークもまた同じ。
>>508 iを虚数単位とする
複素NN
節α (x1+y1*i)
節β (x2+y2*i)
α→β (a+b*i)
であるとき
β=(x1*a-y1*b)+(x1*b+y1*a)*i
x2=x1*a-y1*b
y2=x1*b+y1*a
NN
節A x1
節B y1
節C x2
節D y2
A→C a
A→D b
B→C -b
B→D a
であるとき
C=x2=x1*a-y1*b
D=y2=x1*b+y1*a
なるほど。
512 :
デフォルトの名無しさん:2008/04/14(月) 12:04:00
ニューラルネットの基本的なことを質問させてください。
ニューラルネットとは、組み合わせが多すぎて到底
総当たりでは評価しきれない複数のパラメータがあるシステムの
中の最適なものを算出する手法
ということであっていますでしょうか?
何がいいたいかといいますと、株、先物のデータ分析(というか予想)
に使っている人をみかけたのですが、
パラメータをたくさん用意して、最適解求めるのだと
過度の最適化(カーブフィッティング)にしかならないのでは?と思っています。
513 :
デフォルトの名無しさん:2008/04/14(月) 13:11:32
あっていません
>過度の最適化(カーブフィッティング)にしかならないのでは?と思っています。
これは、学習方法をどうするかにかかっているんだな
カーブフィッティングさせるように学習させれば、そうなるし
そうならないように工夫すれば、またそうなる。
学習とはそもそも何かと考えるハメになるのだ。
>514
過度の最適化に陥っているかどうかの判定は結局、新しい(未学習の)
データを持ってきて評価させてみるしか無いのかね?
まずは「過度の最適化」を定義してみてくれ
そうすれば判定方法も自ずと明らかになるだろ
過学習でググレよ。
>>515 もしそうすると、再びその「未学習」のデータに対して過度の最適化を始めるだけかと
それもちょっと非効率なね、だから学習とは何かを考える必要がでてくると。
そのための cross validation だろ……jk
cross validation とは何をするものかという事をよく考えてみると、自滅していることに気づけるよ。
カーブフィッティングの問題は、ニューラルネットワークというよりはノンパラメトリック解析の難しさが表面化しているというのが実態かもしれない
そうなるとちょっとスレ違い気味だね。
522 :
512:2008/04/18(金) 01:04:24
レスありがとう。
ニューラルネットワークは全然詳しくないのでついていけないのですが、
ニューラルのキーが学習ならば、過学習がカギっぽいですね。
つきつめるとニューラルとは違う方面になっちゃうのかな?
cross validation は、ぐぐってみたのですが、
株とか先物だと既存のデータを、推定と検証用に分けて検証するってことかな?
システムトレードで言うバックテストデータと、フォワードテストデータをわけるということかな。
>>518 日本の品格を著しく下げている在日チョンや
在日チャンコロの排斥が必要なのは言うまでもないでしょう。
まずは東京から。石原閣下に期待です。
前述した残業代を要求して裁判を起こしたりしているのも、
ほとんどはその手の輩ですしね。
日本の国際競争力を低下させようと工作しているんでしょう。
>523
凄い誤爆だな。
>>523 石原?冗談じゃねぇよ、あの財政破綻野郎
新銀行東京の責任とらせて全財産没収にしろ
小泉復活キボンネ
財政破綻野郎ってw
破綻してたのをここまで回復させたのが石原だろ
美濃部とか青島とかのダメダメ都知事を知らんのか
入力層から隠れ層への重みの大きな入力が重要な入力と言うことになるんでしょうか?
ちょっと話題がそれるかもしれないけど
今日は天気が悪い
今日は非常に天気が良い
という2つの項目がDBにあったとします
「今日は天気が良い」で検索した場合後者のほうが一致率が高いわけですが
これを抽出するSQL文は書けますか?
テーブル構成は自由に設計してもらってかまいません
単語毎に項目を分割格納してもいいです
>>528 >後者のほうが一致率が高いわけですが
こういうことは「一致率」の定義をしていないから言えないんだよ。
>>527 そういう考え方もあるけど
「重要な入力」をどう定義するかが問題で,
一般には「ある出力」に対する影響が大きなものだから
影響をきちんと計算すべき(非線型だから定数にはならない)
>>529 この場合の一致率は一致する文字の数です
多くて余った分は無視
短い方の文の文字すべてが存在する場合は完全一致と判断します
これは何かのクイズですか?
SQLでは難しいけど、NNならできます、というオチですか?
>>534 usbメモリサイズでnnの構造の書き込みと計算結果の出力が出来るものがあるといいな
二端子のアクティブ素子は皆淘汰されたからなぁ
メモリ以外の使い道は難しそう
MRAMとどっちが早いか/速いか
端子数の問題じゃ無いんじゃない?
どちらかと言うと現状のLSI技術に馴染んで集積化できるかどうか?
もし可能なら本当にアナログニューロLSIチップや集積化した
アナログコンピュータも夢じゃ無いと思う。
その際の演算部分はやっぱりOPアンプかな?
あれってそんな集積化できたっけ?
二端子アクティブ素子は回路/システム設計が難しい
トンネルダイオードやパラメトロンは当時としては非常に優れた素子だったが
信号を一方向に流す(入出力を分離する)ために三相クロックが必要で廃れた
今の回路技術なら何とかなるのかも知れないが
アナログは(A級動作なので)消費電力が大きいのが大問題
上手くパルスorD級で使えればいいのだが
隠れ層の数が多すぎる場合、学習の精度は良くても別のデータでの予測精度が悪くなったりするんでしょうか?
悪くなったり良くなったりする
OpenCVのリファレンス(日本語版)をさらっと見ていたらNNに関する機能も提供しているようなことが書いてあったんですが、
使ってる人いたらNNのライブラリとしてどう思うか感想をお願いします。
>多すぎる場合
と書いてるんだから,多過ぎるかどうかの判定手段として訊いてるんじゃまいか
学習データにもよるが,一般的にはそう考えて構わない(overfitting)
NNの並列化に関する情報
ちょうあい
意味不明
>>541 OpenCVの物体検出関数で使ってるよ
学習が進むと、誤差は極小値に落ち着くんですよね?
だったら、どうして過学習が起きるんでしょうか?
だったらって、両者には何の関係も無いよ。
関数の近似に対する局所的な誤差の最小化がローカルミニマム
学習しすぎて関数の近似なんて関係なくなったのが過学習
>>546 その時点で知りうる誤差最小値なだけだよ
谷はいくつもある可能性がある
一番深い谷に落ちるのが正解なわけだが
浅めの谷で最小値が決定してしまうと間違いでしょ
それが過学習
というか人間の脳に正解なんて存在しないわけだ
9時に人に出会ったら「おはよう」という点に収束していたとして
それは正解でも間違いでもあるわけだ
学習すればするほどこの学習の重みが増していく
「キモオタには話しかけてはいけない」という別の学習が行われても
「おはよう」の重みが大きすぎると「おはよう」と言ってしまうわけだ
こうなると都合が悪いだろ
これが過学習
過学習とは
訓練データに対する誤差は減るが
テストデータに対する誤差は増える状態
線形関数から作った学習データに対して
ものすごい波形で学習に使ったのみ点を見事に通過する関数を思い描いてください。
過学習かどうかってのはあくまでその挙動が正常かどうかという希望に関係してくる
数学的に正しい解は存在しない
計算するよう設計した時だけは別途解が存在するだけ
すべては製作者がこういう結果がほしいと望むことから始まる
製作者が希望する結果が基準となり
それより足りなければ学習不足
それを超えれば過学習
ちなみに人間の脳は過学習を抑えるために
常に学習結果を消去している
再学習されない場合は自然消滅する
まあ人間の場合製作者はいないので基準が存在しない
だから過学習という状態は存在しないのだけど
ただ心理学系の馬鹿達に言わせれば
社会的に逸脱した状態が過学習なんだとさ
なるほど
ある特定の社会(コミュニティ)に過適応するわけか
559 :
デフォルトの名無しさん:2008/06/25(水) 14:48:21
SOMでオススメの本ないですが。
アマゾン見るとコホーネンの本は翻訳がくそだとか非難が多いのですが。
あれは確か文科系の先生(しかも学生に手伝わせてる)が訳してて
箸にも棒にもかからなかった記憶がある
今日本屋で自己組織化ネットワークの本見てきたけど
ほとんどの章を大学生が訳してた
むしろ教授が関わってるのは「はじめに」くらいだと思われ
全滅なのか
ウェブのほうがマシだということか
あほでも研究費が取れる希少な分野ですからね
制約付きニューラルネットワーク学習に関して詳しい参考書があれば教えてください。
基本的なニューラルネットワークのプログラムは組んだ事がありますが
制約に関してはネット上で言葉を見かけた程度で資料も見つからずどう実装するのかまだよく分かってません。
人間の脳細胞の構造を考えて見た
どうやって学習するか
BPは同じ入力を与え続けて正しい結果が出るまでランダムに変化させるだろ
人間は逆だ
正しい結果を知った上で入力を変化させる
つまりだねランダムな入力をしてそれが望む結果じゃ無い時には
それは疲労感や絶望感や空腹や実際の栄養不足を発生させる
そうなると脳全体の軸策が減少する
つづく
そして軸策が伸びる条件だがそれは単純に脳細胞に信号が到達した時に軸策が伸びる
つまりだ
入力をミスって脳全体が萎縮していくが正しい結果を得られたときだけ伸びた軸策は減少しない
それが学習として機能するんだ
これを実装する方法も考えた
つづく
568 :
デフォルトの名無しさん:2008/08/02(土) 16:54:49
実装してから言ってね
単なるアイデアじゃなくて、きちんとモデル化されてるなら、オレが実装してやってもいいぞ。
>BPは同じ入力を与え続けて正しい結果が出るまでランダムに変化させるだろ
>人間は逆だ
>正しい結果を知った上で入力を変化させる
なにいってんの
ニューハーフハローワークに見えた
自己組織化マップのデータを可視化してくれるフリーのツール、どなたか知りませんか?
以前見かけたんですけど、どこにあったのか忘れてしまって……
573 :
デフォルトの名無しさん:2008/09/01(月) 14:54:05
>>559 ネットで調べた方が分かりやすい。
この本読めたもんじゃないし。
自己組織化マップ ―理論・設計・応用 海文堂出版
はちょこちょこアルゴリズムも載ってるから、まだいいかもしんない。
575 :
デフォルトの名無しさん:2008/09/03(水) 10:31:36
C++で実装されたライブラリでいいのないですかね。
最近の事情は全然知らないんで、わかりやすいサンプルがあるのがいいです。
577 :
デフォルトの名無しさん:2008/09/03(水) 14:12:15
>>576 対象は1次元データなので、コンパクトなもの希望です。
サンプルとしてでもフロントエンドのあるものがあるとよいのですが…
578 :
デフォルトの名無しさん:2008/09/03(水) 19:38:39
ニューラルネットワークはカーブフィッティングあるから使いづらいよ。
統計学をきちんと学べば、機械学習の多くの手法が結局は親戚同士でしかないことや、
そもそもの因子選択がダメなら全部無意味だってことがわかる。
ニューラルネットワークしか知らない人は、「設計には慣れが必要」とか言って素人を煙にまくけど、
本質的な問題はね、機会学習のアルゴリズムは統計学が期待する「正規化されたデータ」という
幻想の上に立脚するものであって、単体では因子間の相関(多重共線性)を
適切に処理できないということなんだよ。
これはNN以外のあらゆる手法にもよこたわる、いわばバカの壁。
579 :
デフォルトの名無しさん:2008/09/03(水) 19:48:51
これを処理する簡単な方法は、事前に多変量解析を行って、使えそうな因子があるかを見ること。
そして正規化処理を自動化すること。
因子間の相関が変化していく状況(リアルタイム)では、自分の設計を更新できないなら
すぐ使いものにならなくなる。
正直、なんで未だにニューラルネットワークを人間が設計することになっているのかよくわからない。
学会とかレベル低すぎ。
誰かはやくAI作ってくれ。
>>579 いや、何か簡単に使えるフリーのライブラリがあればそれを教えてくれると
ありがたいんですが。
LIBSVMは試してみたんだけど、NNも試したいなと。
やりたいのは単に一次元データの予測なんだけど、未知なのでNNでやって
みようかなとそんくらいの統計素人ですんまsん。
581 :
デフォルトの名無しさん:2008/09/03(水) 20:09:52
BP法系統のニューラルネットワークの性能の低さは、因子数が少ないほど顕著になる。
因子が0から1までの値を取るとしたとき、その値の範囲(0.3以下、など)に重大な意味があるようなケースでは、
その因子を適切に分解するプリプロセッサ無しに学習を行おうとすれば、
中間層が2〜3個余計に必要になったあげく、近似精度も劇的に低下する。
なぜかというと、処理対象となる因数空間の分割(非線形近似)にはステップ関数が必要だが、
そのために中間層のニューロンが消費されてしまう。
結果、本当に欲しかった「役に立つ近似」に使われるニューロンが減り、精度が犠牲になってしまうのだ。
思うに、ニューラルネットワークが何をやっているのかわからないというのは、
単にそれを真剣に考えたことが無いだけだと思う。
あらゆる非線形近似は、空間分割と線形近似の組み合わせでしか実現できない。
ニューラルネットワークは、それをステップ関数と足し算(引き算)で行っている。ただそれだけのことだ。
ライブラリはR言語に付属しているのがある。本家サイトあたりから辿れたと思う。
あとはアルゴリズム系の書籍のサンプルソースダウンロードが利用できる。
書籍を買わないとソースの解説は無いが、R言語に付属している優秀なデータを食わせれば
だいたい推測できりはず。もっとも、実データの処理に使うには教科書的すぎて役に立たないと思う。
NNの改善論文が多いのは、元のアルゴリズムが驚くほどクソだから。空間の境界部分を
きっちり処理したいなら、SVMやk近傍法のほうがはるかにマシ。
ニューラルネットワークの本質は、k次元のケーキをナイフで切り分けてるだけ。
中間層を増やせばそれだけ太刀筋は複雑な軌道を描けるようになり、
一見うまくいくように見えるが、その軌道が合理的なものである保証は無い。
偶然に人の皮膚すれすれをナイフが通っても、ケーキが切れていれば切り分けは成功したことになるし、
値は収束したことになる。NNの誤差の収束ってのは、そのくらいの意味しかないのよ。
SOMの可視化も、2〜5因子くらいにまで絞れているなら座標xy、色rgbとか使って
好きなように表示できるけどね。それ以上だと難しい。
「R言語 SOM」でぐぐると画像が見つかるかも。へぼいけどwww
まあ出来合いの可視化ツールはあんまり見た目が良くないし、リアルタイムに見ながら因子を
入れ替えて別の角度から見てみるとか、3因子だから3D表示で見たい!とかなら、
自前で書いたほうが絶対楽だと思う。
上でも勧められてるけど、OpenCV、OpenGL(GULT)あたりがオススメ。データの読み書きはC言語のサイトを参考に。
585 :
デフォルトの名無しさん:2008/09/03(水) 21:19:41
>>581 中間層が2、3個増えてもなんの問題もないです。
未知な関数をあれやこれや考える余裕もSとかRを使いこなす知識もないので
簡単に近似できるものがないかなと。
例えば何個かの関数の合成だとしたとき、NNならそのそれぞれの関数を見つけて
(近似して)くれる可能性がありますよね。
>>584 少しぐぐってみたけど、これって1層NNなの?って思った。多分違うんだろうけど。
理屈はいいので、よさげなNNライブラリかコマンド群教えてくださいw
どうしてもライブラリでやりたいなら、R言語のライブラリ使うか、CPANのPerlライブラリを
「Neural」とか「BP」とかでサーチするのが楽だと思う。
ぶっちゃけ↑より簡単な方法は無い。
大抵の言語で、フリーの学術系ライブラリってのは全滅に近い。
汎用性持たせようとすると書くのも検証するのも大変で、フリーじゃ割に合わない分野だからね。
カネがあるなら別だけど。
ちなみにNNにデフォルト設定なんてものは無い。
かなり自前で設定する必要があり、結局自前でコード書くのと大差無いことになりがち。
言語は?データの型は?データの値の範囲は?
入力、出力ニューロンの数は?中間層と中間ニューロンの数は?
学習回数は?収束を判定する方法は?
学習結果を使う、保存する方法は?ある値を入れたら何が出る?
それを可視化して結果や精度を確認するには?
結局R使え、C言語のサンプルいじれという話になる。
587 :
デフォルトの名無しさん:2008/09/03(水) 22:50:40
>Cortex
サンプルに株価データもどきを使ってるのはジョークか?
フロントエンドは無い。
>SharkのReClaMライブラリ
計算ライブラリ。チュートリアルはダウンロードしないと見れない。
フロントエンドは無い。
>fann
URLはこっちかな。
http://leenissen.dk/fann/ 対応言語が多い。チュートリアルは最もシンプルで、すぐ動かせる感じを受けた。
ただ、ファイルのフォーマットが in-out-in-out-... 順になっててちょっとキモイ。
フロントエンドは無い。
というか汎用性を追求したライブラリに、GUIをつけるメリットが分からない。
普通は付けてもCUIフロントエンドくらいじゃ?
JavaNNS-Win なんかはどうだろう。
これはGUIがある。
しかし色々な機能があるから、使い方を覚えるのに手間取ると思う。
590 :
デフォルトの名無しさん:2008/09/03(水) 23:31:45
フロントエンドとしてどの程度の結果が欲しいのかがよくわからんな。
Cで処理した結果を見るだけなら、それこそHSPでも何でもいいわけで。
NNくらい、3時間あれば書けるだろ
それができないならパラメータを調節できないと思うし諦めたほうがいいよ。
593 :
デフォルトの名無しさん:2008/09/04(木) 06:55:47
>>591 質問の意味が分からん。HSPとか勘弁してくれ。
>>592 あぁ、1時間もあれば書けるさ。
Cが書けるならGLUTでもWin32APIでも何でもいいだろ。自分で書け。
ここはソフトウェア板じゃないんだから(笑)
595 :
デフォルトの名無しさん:2008/09/04(木) 07:38:28
なんだかさっぱりだ(・ω・`)
ゆとりの一種でしょうか。
ライブラリとかほしい。インターフェスだけ公開されててさっくり実装!
っていうのがあるんでしょうな。
ベイズフィルタなんかもライブラリとかあって簡単に使えるじゃん?
実際NNで汎用的なそういうのが可能なのかしらんけど。
何か偉そうにいろいろ書いてるやつがいるが「因数空間」って何?
知ったかぶり??
うん
>NNで汎用的な
これは実際にはあまり使われない(自前で作っても簡単)から結局廃れてる
追加で学習しても以前の学習結果を保持しているような方法ってあるの?
実用的なレベルでね
例えば関節の動きを学習させるのにいちいち前回の姿勢情報と行動結果を
すべて記録して再学習させるなんて時間が掛かりすぎるからね
行動したら学習するっていう単純なサイクルを繰り返したいわけですよ
>>600 ノードが多ければできるんじゃない?
以前の学習結果がプールできて、
かつ場合によって新旧どちらを選ぶかの余裕をもたせてやれば
>>600 Temporal Difference Learning
>>600 それニューラルネットワークじゃないから。
収束を待つとか悠長なことを言っている時点で
ニューラルネットワークが実時間処理に向かないことは自明。
収束早める方法がうんたらかんたら〜というゴミのように見える
論文が量産されているけど、実際にゴミだ。
実時間処理に向かない理由の根本的な改善にはなってない。
そんなの用途しだいだろ。
実時間処理っつってもピンキリだし、だいたい対象が分かってるなら普通の適応フィルタ
で済むしな。
そう。大抵の問題にはニューラルネットよりも良い方法がある。
つまりニューラルネットワークを使おうと思った時点で、そいつは
何か大事な前提を勘違いしていることのほうが多い。
そもそもニューラルネットワークの学習というのは、隠れ層の層数に
比例した次元数に固定されているものだからな。
次元数自体を学習によって適切な数になるまで減らしていくSVMなどに比べて
粗悪な結果になるのは当然のこと。
>>585は本気で中間層を増やせばいいと思ってるらしいが。やれやれ。
>>602 Q learningってのがそうなの?
論文見てもよくわかりません
実装例とかどっかにないですか?
ニューラルネットが独立した手法とか概念だと思っている時点でダメすぎ。
しょせん統計学の後追い手法だからな。
わざわざ ニューラルネット用語(笑) を発明したアホどもが 入力ユニット(笑) とか
結合の重み(笑) とか呼んでるせいでによって分かりづらくなっているが、
こんなもんは古典的な近似関数の亜種だ。雑種だ。従って、ニューラルネットワークは
統計学にあるのと同じ、古くさい問題をぜんぶ抱え込んでいる。
「学習」の一番オードソックスなやつは、線型近似だ。
それじゃ実用にならないからってんで、k次関数近似として次元数を上げていくと
数値上は100%フィットするようになる。より適切な近似/補完手法も存在する。
だが、「誤差に弱すぎて意味が無い」ところまで突っ走って満足する輩が多すぎる。
自由度(入出力因子数、中間層層数、中間層因子数)が増えるほど
結果が無意味になっていくのは、近似関数全般に通じるいち常識でしかないのだが
なぜか「中間層が増えると賢くなる」と誤解する人が後を絶たない。
どんな魔法だよwwwwwニューラルネットワーク(笑)wwwww
Q-learning は、行動と状態を同一視して扱うもので、見方によっては
ニューラルネットワークのようにも見えるし、あるいはもっと単純に
でっかい行列として見ることもできる。
ニューラルネットワークのように全体を一斉に更新するなどという
非生物的で邪悪な操作を行わない点が、利点。
しかし一般に、実時間学習での問題点は、なによりも「時間」をどう扱うかだ。
ヴァーチャルな箱庭の中(もちろん行動にはtuneの概念がある)で
アニマットに餌を食うように行動学習させるだけでも、数ターンぶんの行動を
バッファに貯めて、逆伝播させていく必要があったというし。
細長い袋小路(局所最適解)に囚われないようにするには、バッファを
かなり長くとらないといけなかったという。
ヒトの場合はエピソード記録とか、便利なイベント単位の記憶があるので、
学習が楽になっているようだが。このへんの手法は未だ未知の領域だったりするので
こころしてかかるこった。
Q-learningでぐぐって出てくるページにも書いてあるけど、
「ロボットのセンサを統合して複雑な行動を学習させる」みたいな
ちょっと複雑な問題を処理させようとすると、アホみたいに行列が
でっかくなっていくんだよ。
それに加えて、
>>609で書いたように一定ターン数 or 一定時間ぶんだけ
行列の組が必要になるわけで。昆虫の足だか玩具の足だかを
クロールさせるのならともかく、あんまり複雑な処理になると
もはや悪夢だね。
これじゃ、a)メモリに入りきらない または b)メモリに入りきるように
削ったら汎用性が無くなった あるいは、その両方 ということになる。
パソコンに有線で繋いでおかなきゃ、学習もままならないんじゃないかね。
まさに本末転倒ってやつだ。
ニューラルネットを学べば学ぶほどその無意味さを実感する。
でも実感してもまだニューラルネットのろくな根拠のない可能性を信じれる人が新しいやり方を作って行けるような気がする
もし状況を想像し辛いなら、ロボットアームの動きをシミュレートすると
分かりやすいと思われる。
○
/ \
/ \
■ 匚
●←ボール
■は肩。○は肘。匚は手。
ここで、手の操作は省略して、「決まった位置に置いてあるボールに手で触れる」という
比較的簡単な問題をえてみる。
さて、
>>609 に照らして設計を考えると・・・
入力因子
行動:肩の行動、肘の行動
状態:肩の角度、肘の角度
出力因子
行動:肩の行動、肘の行動
状態:肩の角度、肘の角度
となる。
ふう,なぜNNがあれだけもてはやされたか全然分かってないな
統計的な手法より「実際の問題に使い易かった」だけなんだよ
統計的な手法を使おうとするとその方面を相当勉強しなければならないが
NNなら適当な前処理(これは領域知識だから既に持ってる)を噛まして
適当な層数とニューロン数でやってみればそこそこ使える結果が得られる
現実の問題ってのはそんなに難しい問題じゃない場合が多いからね
数学的にとか本質的にとかと全然関係ない理由で流行ったんだよ
各時点での情報は最低限上記のものが必要で、その対応関係は
最も単純な形では4×4の行列になるだろう。これが学習によって
更新されてゆくことになる。
時系列を考慮すると、たとえば5ターン分の情報のセットを記録しておくなら、
配列は5個という形になる。(しかし、ただ伸ばせばいいというわけではない。
自由度が増えると精度が落ちるし、ターン制ならともかく実時間だと大変困ったことになる)
[ 4 ]→[ 3 ]→[ 2 ]→[ 1 ]→[ 0 ]
(図:[ ]は行列。数字はn個前をあらわす)
んで、てきとーに動いて[ 0 ]でボールに接触したら、過去に向かって記録を
辿っていき、報酬を与えていく。これを繰り返してゆく。
(残念ながら、あまりエレガントなアルゴリズムは存在しない。別分野での
研究成果を応用したりするといいかもしれない)
[ 4 ]←[ 3 ]←[ 2 ]←[ 1 ]←【 0 】 ボールに触った!
#蛇足だが、学習時の行動選択がランダムである場合、
#これはコンピュータ囲碁におけるモンテカルロ法に非常によく似た
#アルゴリズムになる。この類似はなかなか面白い。
脳の並列処理能力はすさまじい。
もし将来、ニューロンがランダムに発火し、脳がモンテカルロ法で動いている
(論理的な思考は大して重要ではない)という結果が出ても、
驚きより納得のほうが先に来てしまいそうだ。
モンテカルロ法のような方法がうまくいくのは
答えがたくさんある場合だと思う。遺伝的アルゴリズムと同じ。
Qlearningの意味が分かった
入力と出力の全組み合わせパターンのデータベースを作って
それぞれの組み合わせの出現確率で重みをつけていって
学習結果は一番重みの大きいものを適用するわけだな
これは自分で既に前からアイデアとしては持ってた
自然言語処理で似た様なアルゴリズムは応用したけど
画像認識のような組み合わせパターンが必然的に巨大になるようなのは
現状のHDDじゃ容量が足りないぞ
今すごいアイデア思いついた
統計的アプローチで追加学習可能でニューラルネットと同等の精度が出せるもの
ちょっと実装してみるわ
データマイニング、情報抽出などの分野はどうですかね。
学習がうまくいったとしても、最適な学習データがそもそも分からないなら意味が無い。
むしろ、同時進行のほうがいいかもしれないし。
さて、NNライブラリ何かないかと聞いた575ですが
もちろん
>>613さんが言ってる通りの意味で使ってみよと思ってるわけですよ。
統計素人ですがこんなの常識じゃないんですかね。
>>606 SVMは別途試してますがNNでも試そうと思ってるんですよ。理論はともかく
実際に使える道具(ライブラリとかのことね)で実際の問題にあたってみなければ
分からないでしょ?
今時のPCは十分速いので単純に中間層を増やしてプリプロセスの代わりになるな
らそれはそれで別に問題ないと思うんですがね。
本物の研究者さんの最新の実装とかの情報があればいいなとは思ったんだけど
やっぱり難しいですねぇ、そういうのは叩かれそうだし。
さすがにこんな過疎で
>>620が尊大なゆとりじゃなければもうちょっとレスもつくんだろうけどねぇ。
>統計素人ですがこんなの常識じゃないんですかね。
いちおう念のために聞いておくけど、素人が偉そうにするのってどこの国の常識?
>>613 もしかして別の板で、GAは山登り法でできることをわざわざ変なやり方している
と書きまくっていた人でしょうか。
いや雰囲気がそっくりなんです。
624 :
613:2008/09/06(土) 20:29:21
そう思わないでもないが,俺ではない
↑君が無知なだけ。
山登り法も知らないやつがこのスレにいることが間違い
629 :
デフォルトの名無しさん:2008/09/06(土) 23:48:42
そういえば昔は掃除機屋もニューロとかファジーとか騒いでたな。
今はどうなったんだろう。
630 :
デフォルトの名無しさん:2008/09/07(日) 00:06:01
その日の気分で吸ったり吸わなかったりか。
俺といっしょじゃん。
>>629 当時レベルのファジーやらなんたらは平凡に使われているという話である。
今はやってないから言わなくなった
非ファジー
_____
|
_____|
ファジー
____
/
____/
こうして図にしてみると、いまさらこんなのに名前をつけても売れないことが
よく理解できる。やはり売るなら実体の無い宗教、マイナスイオンだね。
実体が無いものならPL法にひっかからないし、宗教なら非難されようがないもんね。
板違い
エアコンは今でもニューロ回路持ってるだろ
自分で学習するオセロ作ったぞ
今戦って教えてる所です
ほほう
強くなったらうpして
そもそも学習させている事例が良ろしくなければ(ry
638 :
デフォルトの名無しさん:2008/09/08(月) 00:24:42
Yahooオセロbot作って自動で学習したらいいよ
そんな事は無駄
構造上強くも弱くもならないよ
対戦相手の強さをそのまま学習する仕組みだからいずれ同レベルになるだけ
何万回くらい対局すれば強さは収束する?
ていうか
>>618の思いついたのを実装して
オセロに適用したんですよ
どれくらい効果があるのはまったく予想不能
結果もってこいや
まさかとは思うが、ネタを振っといて
結果が思わしくなければを出さないなんて事は無いだろうな。
ただのエキスパートシステム(笑)が出来るに1クロン
>>642 あっけなく負ける強さに収束するから意味なし。
問題は強さの定義だろう。どうやって強さを教えるんだ?
>>647 強さとは、素人の俺と対戦したときの勝ち負けできまる。
すべて俺基準な。
>>649 >>46のチェッカープログラムは遺伝的アルゴリズム
>>135のバックギャモンプログラムはTD学習
を使い自己対戦で学習してトップレベルの強さになってる。
多分瞬殺されると思うよ。
>651
ほー、どっちも自己対戦学習で強くなってるのか。
チェス、将棋、囲碁でもそれができるのかが興味深いところだな。
やっぱりニューラルネットワークと強化学習の枠組みって
相性が良いのかな?
>>651 閉じた環境で育った知恵というのは、厚みがなくちょっとした
認知不能な流れで最弱な流れになるものだよ。
自己対戦なんて典型的な閉じた世界だろ、何せ相手は自分と同じ論理で
行動するわけだから情報処理ネットワークが狭い閉じた世界に収束してしまう。
いわいる建前の強さというやつ。
>>652 自己対戦で強くなるなんて思っているコンピュータ将棋もチェスの作者は
いないよ、みんな多様性を学習させるためにいろいろな相手に対戦させて
いる。
緻密で正しい勝つ確率がもっとも高いことしか選ばないソフトに勝つことは
非常に容易である、羽生の対戦でもみて勉強してこい、てな雰囲気だよなw
ソフトで学習が容易なのは戦術であって戦略ではない、困難なのは高次の
戦略を感じ取る抽象的な思考能力、頂点で闘うゲームでは強さではなく
ブラフというものが最終的な勝ち負けを決める。
何故なら全手計算できないからだ、予測できない域で勝敗が決まる勝負では
予測できない域を制覇できるものが勝者となる。
>>651君が求めているのは予測可能、全数計算可能な域での話であって、
予測不可能な試合では通じない論理だ。
強さに何の意味があるのかね
知能の本質は強さじゃない
天然ボケってのは人間のような高等な推論をする上で必要不可欠な機能だよ
ボケを持たない知能はただの機械的回路にすぎない
身をもって知らせたわけですね。わかります。
某スレから馬鹿が流れてきたのか
ボケっていうのは例外事象に柔軟に対応するシステムなわけだ
これがあるから人間ってのは数学的収束を持たない
一度収束した回路は二度と別の用途には利用出来ない
例えばひたすらチェスを学習させた人工知能は将棋を学習することは出来ない
チェスも将棋もこなす人工知能は存在出来ない
だが人間はこれが出来る
これが出来る理由がボケというシステムの存在だ
最高に強いAIチェスなどに興味はない
人並みの強さだがどんなゲームにも柔軟に対応できるAIこそ
真の人工知能だ
それが分からないやつには人工知能なんて作れないよ
現状の翻訳システムとか音声認識とか自然言語処理とか見てみろ
機械的な入力条件じゃないと正しい結果が出せやしない
結局機械に毛が生えたようなただのおもちゃだよ
関西弁を翻訳出来てこそ人工知能だろ?
顔文字を認識出来てこそ自然言語処理だろ?
ちがうか?
違うね
というか、何が言いたいのかサパーリだな。
よっぽど何かトラウマとか劣等感があるのだろうね。
自分定義の人工知能を語るのって新手のオナニー?
そんなこと言ってるから何時まで経っても進歩しねーんだよ
英語の翻訳出来ました、フランス語の翻訳出来ましたとか言って満足してるのが現状だろ
そもそも言語とは何かってところから学習を始めないと意味がないんだろ
そして英語もフランス語も同時に学習していかないと使えないんだよ
チェスを学習するということはチェスとは何かを学習することだ
強さじゃねー
そんなに気持ちいいのですか。
形態素解析エンジンを作りましたこれで自然言語処理が出来るとか馬鹿なこと言ってんじゃねー
形態素解析こそ自動学習で最初に作るべきものだろうが
669 :
デフォルトの名無しさん:2008/09/09(火) 16:05:08
別の世界からこにゃにゃちわ(・ω・)/
犬語とか猫語?
あ、それはもうあったか。
>英語の翻訳出来ました、フランス語の翻訳出来ましたとか言って満足してるのが現状だろ
どんな妄想だこれ?w
672 :
デフォルトの名無しさん:2008/09/10(水) 15:14:36
その位自分で分からないのなら手を出すなw
せめて自分が正しいと思うコードを書くとかしないと
>>672 それないよ
BPにすらなってないソース掲示されても困るよな
マヌケな無能君が、途中結果もだせず、考えもまとまらず、誰にも評価され
ない情況が続くので必死に2chで喘いでいます、オマエだ、オマエしかいない。
すくなくともオマエの意見に賛同するのはオマエだけ。
匿名で発言しても何も変わらんし、おまえのストレスが増えてゆくだけ。
ここで答えが求まるとか議論していると勘違いしている君には
治療薬すらない。
676 :
デフォルトの名無しさん:2008/09/12(金) 12:06:15
BPになってないワロタ
プログラミングしたことないのか
677 :
デフォルトの名無しさん:2008/09/12(金) 19:09:51
>>672 8行目と9行目のsum+=のとこと
delta1[j]=のとこが微妙だな
「ロジスティック回帰モデルと単層パーセプトロンは等価である」
と言うのは本当でしょうか?
またWikipediaの説明によれば単層パーセプトロンに隠れ層(連合層)が
あるように書かれていますが、これはおかしいのでは無いでしょうか?
頼むおしえてください!
誤差逆伝播法で忘却項を導入する方法があるけど
いったいどんな利点があるんでしょうか?
>>679 単層というのは学習する層がひとつで中間層はあっていいよ
>隠れ層(連合層)が あるように
隠れ層と連合層は同じじゃない
どちらも中間層のではあるが連合層を隠れ層とは呼ばない
「の」が余分だった
> 野良犬(ポチ)
野良犬とポチは同じじゃない
どちらも生物ではあるがポチを野良犬とは呼ばない
みたいな?
ニューラルネットワークの「原理」は存在し検証できる。
しかし知的「仕組み」は先天的に作るものと後天的に生まれるものがあり
先天的なものが何かを特定できない時点で構築する以前の問題ではないか、
知的なものが後天的に全て学ぶものだと仮定すれば、すべて学習となり、
人が20年程度かけて修学するほどの手間がかかり、100%の全てが
大人になりえるわけでもない。
現状で原理の上に築く先天的な仕組みがどのような物かを微小なり概念なり
説明できるのならやってくれ、できないからこを糞スレに粘着しているんだろう。
それとは違う先天的な構築方法で行うメタ的な情報を築く手法の過程では
ライブラリーのように地道に確実に積み上げしてゆくことが大事だと
何故気がつかないか?
自動で全てが成りえるという幻想でもいいが、自動ほど恐いものはない、
自動で成りえる情報の秩序を暴走させずに、奇形にならずにバランスを
もった特定の形へなるなら人だってキチガイは生まれないだろう。
確率の問題なのか、それであれば永遠に近い時間で偶然を待つしかない。
人すら教育が困難なのに、人が生み出す人工知能の教育が簡単で一瞬で
できあがると思うのか?
面白くないコピペだな
> ニューラルネットワーク 原理
>
> 後天的
> 何か 問題
> 知的
> 人 100%
>
> 原理の上に築く先天的な仕組み 概念
> 糞 粘着
>
>
> 自動
> 秩序 暴走 奇形
> キチガイ
>
> 教育 困難 人工知能
> できあがる
重要な単語のみ抽出した
つまりニューラルネットワークは,人が何か後天的に知的な問題を,
原理的で先天的な仕組みの概念で糞が粘着し
自動的な秩序の暴走を促す(?)奇形(キチガイ)を教育する人工知能を作る物.
という壮大な物語だったのさ
と、自作自演な厨が荒らしております。
一生懸命考えた結果がこれだよ!
690 :
デフォルトの名無しさん:2008/09/22(月) 00:14:47
糞スレに常駐するDQNは何もできないからこそ常駐して妬んでいるだけ。
まさに病気そのものwっうぇええうぇうぇっうぇ
つか、本とかの解説どおり習得して終わり。
さあ満足したか?それでおわり、その先はない。
結局自分では真似だけして何もできないのが、その先があると勘違いして
騒ぐが結局は自分で生み出したものではないので何もできない。
つまんねーなw。すこしは自分で結果をだしてみろよ。
物事を生み出すことができないのは君が論理に支配されているからだ。
論理を超えてみろよ、嘆きの壁は越えられない。
そう定義されているから、だから諦めろw
692 :
デフォルトの名無しさん:2008/09/25(木) 18:14:44
>>672 そのソースは修正のところで、教師信号がp個あったら
現状での、全てのパターンの信号の誤差を和算して一気に修正してるけど、
データ0で誤差を計算し修正。
データ1で修正後の荷重を用いて誤差を計算し修正
データ2、データ3で・・・・データpでってやるのが
逐次更新より一括のほうが正しい計算だろ
シミュレーション板へ帰れ!
ここはプログラミング板だ
この板はプログラムを作る人のための板です。
あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
697 :
デフォルトの名無しさん:2008/10/01(水) 17:35:15
698 :
デフォルトの名無しさん:2008/10/07(火) 17:33:51
>>227-228 のデータを3層ニューラルネットワーク、中間層の素子数10でやると
5秒くらいで学習が完了するんですけど、
素子数を100にすると学習がなかなか進みません。
100って多すぎるんですかね?
>>698 素子数の組み合わせの数がどれぐらいになるか計算もできないの?
単純なニューラルネットワークは大規模になるほど指数的に難しくなる。
>>698 中間層増やし過ぎるとカーブフィッティングしまくりで使いものにならないよ。
問題ごとに中間層の素子数はどのくらいが適正なんて
ノウハウは公開されたものはどこにも無いのな?
みんな経験と勘で決めてるのだろうか?
>>701 だいたいは経験と勘。
もし適切な数というものを半自動的に決めたいのなら、そこは
統計学の分野に一日の長がある。
具体的には多変量解析、重回帰分析、増減法とかでぐぐれ。
それすら単なるノウハウと言ってしまえばそれまでだがな。
>702
サンクス。
何かものの本を見るとAIC(赤池情報量基準)
とか言う決め方があるみたいだな。
勉強してみよう。
わかる人いるか
自己組織化マップ(SOM)に興味もってる。
脳は自己組織化を実現してるのは間違いないと思うけど、
一方で自己組織化を実現する本質はSOMじゃねえと思ってる。
近傍学習・競合学習を、ニューロンが持つ単純な計算機能を
SOMみたいな入力層・競合層みたいな構造ではない、ほかの構造で、
実現しているんだと思う。
でだ、ニューロンを0,1のバイナリな状態しか保持できない(1=発火)と仮定して、
時間軸方向に、何か発火の時間的なタイミングとかパターンが
意味を持つような形で、構造化されてるんじゃないかと思う。
たとえば視覚情報は、シリアルな値として入力層に現れるんじゃないか、という話。
SOMの学習済み競合層は、よく2次元でマップされてるのが例として出てくるけど、
これは時間軸方向までを含めて、ある時間軸の窓の中での自己組織化を
切り出した形なんじゃねーのか、という話。
これ、形式化したいんだが、どうしよう。
SOMから離れろ
海外の論文を漁れ
706 :
デフォルトの名無しさん:2009/01/15(木) 19:28:54
707 :
デフォルトの名無しさん:2009/01/25(日) 09:46:59
>>704 よくわからんが、時間変化というか時間軸方向でのパタンこそが、ってことかな。
俺もそれは思う。
文字認識や波形からのデータマイニングに使える気がするんだけど・・・・
教師有り学習と教師無し学習って手法毎に明確に分類できるわけじゃないよね?
人間が曖昧な記憶をするのは、
曖昧な認識をするためじゃないのかなー。
データを信号に変えて、曖昧な記憶をさせたらどうだろう。
ちょっと質問、遺伝的アルゴリズム(GA)とニューラルネットワークって違うんでしょうか?
どっかで、GAのスレがあったら教えてください。
713 :
デフォルトの名無しさん:2009/04/17(金) 21:52:34
>>710 非論理を記憶させ、それを構築するには、それを与える人が非論理を理解
していなければ成り立たないだろ。
おまのは、そのようになったらいいな、とか、
やってみたらどうだろとか、誰でも始めに思いつくことを言っているに過ぎない。
曖昧な記憶だ?んなのは人工知能を始めて想像した数学者チューリングすら
やっていた思考実験だ、バカス。
むしろ曖昧な記憶って何?
そういう研究領域ってあるの?
>>714 心理学とか?
記憶がどう変容していくかとかの実験とかやってた
凶器注目効果とかも近いかも
なぜ誤差逆伝搬学習法による中間層-中間層のシナプス結合荷重を変化させると非線形の出力に対しての領域わけができるのでしょうか?
718 :
デフォルトの名無しさん:2009/06/08(月) 00:08:14
>>717 自然淘汰、ダメなものが消滅、良いものが生き残る。
>>714 無意識で記録される記憶、
意味にならない記憶、
無意味な記憶
無意味を情報処理する方法を脳が潜在意識として実現している。
ニューラルネットワークなどの仮想モデルの説明では、
自己組織化で自動構築されるので外部からそれを見ることも観測する
こともできない、できても意味がない。
動的に構築されるというのはそういうタイプの情報処理である。
その辺で無意味を扱えるのは科学ではない、非科学の領域だよ。
だから考える必要すらない。研究したらトンデモ研究に認定される。
>717
それって、
「なぜパーセプトロンは線形分離可能なパターンしか分類できないのか?」
の裏命題だよね?
ミンスキー&パパートの「パーセプトロン」を読め、じゃあ無くて
単純パーセプトロンは結局、入出力関係を線形一次結合にしかできない
中間層-中間層があれば非線形な関係を表現できるとしか
説明しようが無いんじゃあ?
逆誤差伝播法が発明されたのでそれを実際に学習させる事が可能になったと。
721 :
デフォルトの名無しさん:2009/06/08(月) 00:49:41
旨くいかないのは、ほとんどが学習で集束しないという話である。
>>721 見積もりができてないだけじゃん。
そもそも規則性が無いものは学習できない。
秩序がない抽象的なものを学習させるのは無理というもの。
それ以前に学習させたか怪しいな。多層構造になると学習させるのが
単純ではないぐらい理解してないとかw
抽象的も何もデータになってる以上はできるだろ
使ったこと有って教えてる?
なにも分らない奴ほど短いレスをする法則
でも簡潔で全てを物語ってるな
726 :
デフォルトの名無しさん:2009/06/09(火) 22:02:30
だんだん短く
なる
728 :
デフォルトの名無しさん:2009/06/09(火) 23:43:21
よ
512KBを超えました、新しいスレッドを作ってください。
>でだ、ニューロンを0,1のバイナリな状態しか保持できない(1=発火)と仮定して、
発火の失敗もある。つまり1と0だけではない。
733 :
デフォルトの名無しさん:2009/07/12(日) 19:15:20
今レポート書いてんだけど。
ニューラルネットワークって実際の脳の仕組みと同じなのかな?
詳しい人教えてほしいです
同じじゃない
ニューロンとシナプスの構造を単純化したもの
>>733 根本原理は用語的には同じ。というよりニューロンのネットワークだから
直訳すれば神経網、脳が神経網とは違うのか?と聞いているのと同じ。
貴方が聞いているのはコンピュータモデルでの単純化したタイプだと
734が予想&補完した返事をしているだけ。
ニューラルネットワークは単純化した部分がもっとも重要であり
主幹として機能しているが実際の脳とは学習アルゴリズムは違う
ので比較ができない。
>>732 階層じゃなくても貴方のいうニュールネットワークはできる。
しかしそれは生きた神経網を採取して部分的に成長さえて機能ができている
かを確認しているのにすぎない。
貴方が背景で考えていると予測してその意味的な「できる?」という返事なら
それはできない。理由として貴方にそれを扱うスキルがない。
貴方が思っている対象は多分、高等な情報処理であり、実験的なものではない
機能させる対象が単純モデルならNNを使う必要すらない。高等なら貴方に
そのスキルがないってこと。貴方の学習でも階層を使う必要すらない。
コンピュータで比喩すれば、現在のWindowの大型アプリを使うのではなく
電子ブロックを抜き差ししている状況だと悟ろう。
入出力連続値、閾値なしのBP対応3層NNを作りましたが、
3層から多層に変えると、記憶できるパターン数は増やせますか?
3層の中間層を増やすことと同じであまり期待できないのでしょうか?
>>736 既に作ったなら多層にするのは大変なことじゃないだろ?
なぜ自分で試してみない?
中間層を増やすとか言う曖昧な表現してるから理解できてないんだろう
いや返事もないので、すでに多層化した。
それどこが難しいんだ
小学生でもできるレベルの改良だろ
アソシアトロンってどうでしょう
>>740 難しい?。簡単だよ。だけどその後の検証が面倒なんだ。
既にわかってることに時間かけても仕方ないからね。
では最初の質問時に文献プリーズって言えば済むことをわざわざ頭の悪い質問文に変えたのは何故だ
プライドのためだけに
>>739の様なレスを書く時間をかけたのは無駄ではないのか
もしかして、「3層の中間層をふやす」って文章のこと?
文脈読めないとダメだね。ニューロンがだいぶ減ってるようだ。
3層の中間層のノードを増やすが正解。
表情も身振りも読み取れないテキスト表現だけの世界で行間読みまくってたら何もはじまらない
おめーら雑談たのしいの?
本も読まずに質問してきたオバカちゃんのくせに必死に相手を貶し自分はさも有識者であるかのような
振る舞いをするのはイタイ
レス状況から1時間に1回はスレの更新をチェックしてムキムキしながらレスしてるのが丸わかりなんだよ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
必死に相手を貶し自分はさも有識者であるかのような 振る舞いをするのはイタイ
>>741 ちらっと調べたところ、なんか普通のNNとの違いがよくわからなかった。
記憶に興味がもてたらもう一回調べてみよう。
今朝思いついたけど、夢を見たことを忘れるのは、
寝る前の記憶を鮮明にしておくためじゃないかな。とここでつぶやく。
たった一行のレスに時間をかけたといったり、
一言コメントしてからおめーらといったり。
論理が破綻してるひと多すぎ。
まだまだ燃料としては弱い
夏で外が暑いからといって燃料投下を止めていいと思うなよ
学問でやりたいなら数学の板が適してるんだろうけど
数学理解する力がないんだろ
英語と数学は壁だね。何やるにしても。
ムキムキしながらって表現になんか笑ったw
なんだそれw
さぁレスするぞーー!!
_
/ jjjj _
/ タ {!!! _ ヽ、
オーー!! ,/ ノ ~ `、 \ _
`、 `ヽ. ∧_∧ , ‐'` ノ / `j
∧_∧_ \ `ヽ( ´∀` )" .ノ/ / /`ー' オーー!!
( ´∀`)  ̄"⌒ヽ `、ヽ. ``Y" r ' 〈 `ヽ
/ ) ヽ' / 、 `、 i. 、 ¥ ノ `、 ヽ∧_∧
γ --‐ ' λ. ; `、.` -‐´;`ー イ 〉 ´∀) ,-、、
f 、 ヾ / ) i 彡 i ミ/ / ノ  ̄⌒ヽ 「 〉
! ノヽ、._, '`"/ _,. '" } { ノ ' L `ヽ./ /
|  ̄`ー-`ヽ 〈 < _ ヽ. / `\ / , ' ノ\ ´ /
!、__,,, l ,\_,ソ ノ / /ヽ、 ヽ. ( ∠_ ヽ、_, '
〈'_,/ / / / ノ ヽ. ) i 、 ヽ
| | イ-、__ \ `ヽ { f _,, ┘ 「`ー-ァ j
l.__| }_ l \ \ | i f" ノ { /
_.| .〔 l l ノ _> j キ | i⌒" ̄ / /_
〔___! '--' <.,,_/~ 〈 `、ヾ,,_」 i___,,」
`ー-‐'
階層型ネットワークで、出力層の出力結果Xを量的データとして出したい時は
シグモイド関数のα(ゲイン)の値を小さくして、
(X−Xmin)/(Xmax−Xmin)と基準化させて出力。
出力結果を質的データとして出したい時は
αの値を大きくして(ほぼ?)0,1の出力をする。
という理解で大丈夫ですか?
返事もないので、すでに自己解決した。
SOMは元空間のトポロジーを保存する、と言われますが、証明されてますか?
>>759 どうもです。
長らく悪菌でした・・・
面白いですねw
もっともだと思うこともあれば根拠なき断定ではというのもありますね。
ところで、やっぱりSOMって便利だけれど若干うさん臭さがある感が否めないと思うんですが、
アカデミアではどう受け止められているんでしょうか?
761 :
デフォルトの名無しさん:2010/01/16(土) 03:17:11
くだらんおべんちゃらはよせ
話題がねーなー
764 :
デフォルトの名無しさん:2010/02/01(月) 04:53:50
多層NNのbp法にて関数近似をしようとしているのですが、教師データ(学習データ)が
必要以上に多いとき、近似が成功しなかったり時間がかかりすぎたりするので、
前処理にてデータの選択を行いたいのですが、良いデータの選択方法はありますか?
関数の特徴量を上手くとらえたデータの抽出ができれば良いかなと思うのですが。
肉眼で見分けつかないような部分はバッサリいっちゃっていいんじゃねーの
どうせ基本的アルゴリズムのNNじゃそのあたりの差は出ないだろうし
私自身、はじめは目視でやっていたのですが、
目視ではなく、プログラム側で自動で判別できるような条件
等があれば良いかなと思うんですがどうですか?
初めに思いついたのが、学習するデータ点を半分にして、2段階で学習する
方法でした。でも、それだと、例えばシンク関数、サイン関数等の波のある
関数で、谷間の間の部分の教師データが採用されない等の問題がありました。
そこで、関数の形になんらかの関係のあるデータの選択方法をプログラム側で
制御できないかなと思い質問しました。どうでしょうか・・・?
特徴量がうまくとらえられていないデータは似たような位置が似たような値をとっているはず
多すぎるデータを間引くのならそういう場所は削って良いね
同じ位置の値が似てるかどうかはエントロピーでも見れば判るかな
とりあえず、すべてのデータに大して隣り合う点との距離について計算して
その距離があるしきい値以上ならば学習データとして採用することにしました。
これで平坦な部分(関数全体からみて)についてはデータを少なくとることができたのかな?
変化の激しい部分はデータを多くとれるはず。
(データをある程度しぼって学習して、学習が進んでからデータを追加する仕様で
プログラムを作成しています)
>>767 近い位置のエントロピーを見てみるということですか。
うーんと・・・エントロピーってなんでしたっけ?平均情報量?
大学でやったような気がしますが教科書あげちゃったな…
この場合、具体的に何を計算すればいいのかな。
ああ、表現が不味いかも上の"距離"というのは入力がx、出力がf(x)のときのf(x)のことです。
作成したプログラムは3次元の関数近似が目的なのでx,yの入力に対してのf(x,y)の値を
参考にしていますが…
f(x,y)の値が隣のデータと離れていればいるほど、付近では関数の値が急に変化していると考えられるので
先に学習することでのちの学習がスムーズに行くのでは?と考えたためです。
手書き文字のサンプルを集めたいんでけど
どうすればいいかな?
HTMLで作るとか?
>770
昔自分で用意したときはペイントで描いてから拡大表示してデータを作った。
5人ぐらいでやればみんなが違うパターンのを得られて楽でした。
そんなに精度要らないなら自分で作ったほうがはやいかも。
卒論NNやれって言われちゃったよ・・・
なにやればいいんだ?
>772
時間がかなりかかるから今からじゃあ無理だと思うけど。
ああ、来年発表ですか?それなら
NNっても卒論にするならいろいろあるからテーマが決まってないなら
いくつか論文読んでからまたどうぞ。
ニューラルの論文集みたいなの無い?
うーん…多分NNやれって言われたならそれなりに準備してくれると思いますが、
先生に論文どれを読んだらいいか聞いてみたほうがよいかもしれません。
論文集をまとめてあるサイトは知りませんが検索したらいくらでもでてくると
思いますよ。
googleにgoogle scholarっていう学術論文検索できるやつがあるのでここから
http://scholar.google.co.jp/schhp?hl=ja 探せばいいかな。
でも、ニューラルネットワークで検索しても多すぎるし古いので、
例えばパターン認識とかリカレントニューラルネットワークとか誤差逆伝播法とか
そのへんも検索に入れるといいかもしれませんね。
あなたのところの卒論のレベルは知りませんが、学部生ならこのへんの論文を参考に書けば十分だと思いますが。
混合ガウス分布ってもう実用に使えるの?
共分散の自動調節が変だった記憶あるんだけど
文字認識の精度が上がらないよー
779 :
778:2010/02/11(木) 15:12:01
ただ、手書きの文字を入力にしてるからかな?
手書き文字からパターンを抽出したいんだけど、どうやればいいかさっぱり分からん・・・
>778
プログラムあってるのか?
あと、文字数を減らせばいいんじゃないか?
とりあえずAとBとCの3つぐらいからやれば…
入力するパターンもAが5つ、Bが5つ、Cが5つとかにするんだぞ
それぞれのパターンで書き方を少し変えればいい。
あともう少し実験の条件を晒してくれ…
入力してる文字とか…
特徴量のとり方はどうやってる?
>>780 ありがとう、認識文字は0〜9で、
0〜9の入力に対してそれぞれ200回更新して、それを200回ループ回してるんだけど、
3と8と2がうまく学習できない。
てか、最後に学習した8になっちゃう感じ
プログラムは↓
for(i=1 ; i<200 ;i++)
{
for(patarn=0 ; patarn<10 ; patarn++)//パターンをそれぞれ一つずつ学習
//教師信号割り当て
//入力割り当て
for(j=1 ; j<200 ;j++)
{
//入力誤差、出力計算
}
}
}
こんな感じ、
>782
見た感じ間違ってない気がするな。
数字の認識は3,8,2が上手く学習できてないのはなんだろうな
中間層の素子の数が足りないのかな。
もしくはこのプログラムは何回かやってみた?更新回数を増やすとか、学習係数の値の変更とか。
たしか、自分がやったときは文字の線が細いところを太く書いたら上手く分離できるようになったと思う。
とくに数字なら斜めの部分を太めにやってくれれば違うかもしれない。
あんまり似てると上手く分けられないからあえて違うように文字を書くのも最初のうちはありかも
あと、0〜9を0から順番に学習しているから8が最後になっているみたいだが、これに関して
順番を変えることで結果はどうなるのか試してみたらどうかな。
(9から1に学習したら2になるかどうか?)
たまにはレスするか・・・
ニューラルで指紋認証やりたいんだけど
指紋そのまま抽出するより、特徴を抽出したほうが良いよね?
指紋の特徴って何がある?
特徴点
hebb学習ってバックプロバみたいな正解と出力の関連付けが出来ないけど
出来るようにする方法を思いついた
ちょっと実験してみよう
>>784 特徴っていってもいろいろあるからな
角を検出したり直線を検出したり曲線を検出したり
画像処理スレの方が詳しい人が居るだろう
自分が使う不出来な構造のNNの為に特徴抽出の
お膳立てしてあげようとしたら
その前処理段階で判別に十分な特徴出ちゃったりなんて話も
音声を入れたら文字が出力されて
文字を入れたら音声が出力されるNNを作ろうと思うんだけど
これって研究対処になる?
>>789 そりゃなるでしょう。
特に英語なら綴りと発音の関係がややこしいし。
音声認識は昔からNNの研究対象分野だし。
ただ、DecTalkとか言う先行研究がすでに有ったような。
卒論のテーマ考えてるんだけど
何やればいいかわからん
誰か助けて
興味があること
NNって別にすごいことしてないしな
何をやってるのか解析しようと思えば出来るだろう
いや実際数式化しようと思えば出来ると思うがな
特にバックプロバケーションタイプなんて
もろ教師信号からパラメータの中央値を糞無駄な計算を繰り返して
導き出して、しまいにはそのパラメーターを使いまわし
しかも使う人間も馬鹿だから全部のパラメータが重要だと思って
無駄計算を繰り返してるだろ
連想記憶モデルって何の役に立つんだ?
SVMは単に2値に分離するだけだけど
NNは無限個に分離できる可能性がある
可能性があるというのは構造や規模次第って意味で
ただいろいろ不利な点がある
追加学習が出来ない
適切な構造が分からない
計算に時間が掛かる
いろいろ解決法は考案されてるものの誰もそのアイデアを公表しない
そして秘密にして利益を守ろうとする割にはアイデアがしょぼいw
だから発展しないし利用出来るだけの材料がまったく揃ってない
例えば
XOR問題を空間であらわすと
SVMは
○|
-----
|○
NNは
□|
-----
|□
みたいな感じだな
SVMは角が無いんだよ
ニューラルネットで実用的なモデルって何?
何に需要あるの?これたちの悪い罰ゲームなの?
構造をいちいち検証せずとも自動的に決定してくれて
学習に何週間も時間を費やさずともよくて
フリーのライブラリが各言語に標準に近い状態で実装されてれば
かなり需要があると思うが
現状ではNNを利用するには目的にあったNNを発明する所から始めないといけないという
だから作ったものは自分にしか需要がない
多層のフィードフォーワードとリカレントの特徴の違いを教えてください
フォーワードは
BPのように入力から出力の一方向接続があって
教師信号で逆方向の重みを計算する
この時に出力の計算式と修正の計算式が違う
それを統合してしまおうというんおがリカレント
出力層と中間層は入力層に接続されていて
それぞれの出力計算と重み修正の計算式は常に同じ
しかも線形だから実に簡略化されたもの
でFA?
windowsを消し去って初めて後悔した
ニューラルで何か新しいことを研究にしたんだけど
何も思いつかんわ
誰か知恵を貸して
株価予測、文字識別、ニューロ制御、TSP、
グリッドコンピューティング、803より賢い無脳
は、何も見てないけど、既にたくさん研究されているだろう
誰か文字認識のプログラムちょうだい!
>>801ので強化学習が出来るってのを実験したいんだけど
どういうアプリ作ったら分かりやすいかね?
テスト用なんであんまり大規模なのは勘弁
ちなみに
>>801の何が普通のNNと違うか見てもらえばわかるけど
赤が1.0青が0.0を学習させてるんだけど
しばらくあるポイントの情報を学習させた後にポイントを生成しなおして切り替えても
しばらくはもともと学習してたポイントの記憶を保持してる
だから追加的に学習していっても古い記憶を保持したまま新たな記憶を覚えていく
時間がたつと古い記憶は薄れていって同じ学習入力が無いと消える
この時間は調整可能
だからノイズの学習が行われても簡単には過去の記憶は消えない
連想記憶は自己相関での結合行列に重みを付けしての誤り訂正とか、
相互相関で記憶したパターンを順番に生成するぐらいしかないんだと思っていた
この分野でテンプレに出てきそうな書籍ってないの?
アルゴリズム教えて!
この分野で卒研着手するとなると、使用する言語って何がいいんだ
matlabとかR?Java,c++?
boostとgslかじって、c++が幸せそうな気がしているけれども
俺はC++
行列使うならmatlabじゃん?
>しばらくはもともと学習してたポイントの記憶を保持してる
どうやってるの?
>>814 予備知識もなにもなかったんだが
SOMってのがかなり近いみたいだ
根本的にアルゴリズムは別物だけど
発想が似てる
入力を次元で考えたのがまったくSOMと同じだった
中身はかなり違うけど
SOMは分類するだけだけどこれは学習するからね
むしろ逆に分割するとも言える
入力が次元なだけに増えると指数関数的に処理速度が低下するのが欠点で
今それで悩んでたんだけど
こいつの記憶保持のメカニズムがBPに応用出来そうな気がするんだよな
SOMのユークリッド距離を使うアイデアはなかなかいいですね
計算を単純化出来る
その方法で重み修正をやるようにしてみたけどうまくいった
記憶保持機能もそのまま
SOMとは計算式がぜんぜん違うけども
こんな場所で実行ファイルだけアーカイブしても誰も実行してくれないんじゃ…
ソースは公開しないけど
まだバグとか改良の余地があるから
設定出来るパラメータも単純化したいし
そのうち組み込みで使えるようにライブラリはアップするかも
専門家でもないし学生でもないし
たまだまNNに興味があったプログラム好きのど素人だから
公開したらアイデアぱくられて終わりとか悲しすぎるしw
たいしたアイディアでも無いくせにな
まあ、過疎ってるよりはいいかな
今年4年の学部生です
ニューラルネットワークでルービックキューブの解法を探す研究をしようと思うのですが
実現可能でしょうか?出来そうかだけ教えてください
うん
Yes.
>>826-827 単にNNでできるかできないかで言えばそうだろうけど、研究可能ですかって意味では車輪の再発明じゃね?
既知を研究するもまた研究という人もいるだろうけどさ。。。
でも、難しいと思うよ
ニューラルでやってんの?それ
ニューラルでやったらそこそこの研究になるんじゃない?
>>830のソース読んでNN使えば(多分)改善する箇所思いついた
やってみよっと
解法って最短解法って意味ならNNじゃ無理だよ
時間はともかく必ずいつかは解ける方法を学ばせるのは可能だけど
なんで最短は無理なん?
ってかNNでできるのか?
構造とかどうすればいいんだ?
俺には全然わからん
ルービックキューブのルール通りに動くようにNNを構築するのは難しくね?
ばらばらの色の配置→6面完成だけならできると思うけど
NNを神格化してるのか知らないが
ただの連想記憶装置だから
0.0〜1.0のアナログデータを保存するだけだから
0.1区切りなのか0.01区切りなのかはNNの規模で決まるだけで
実際に表現出来る範囲には制限がある
ルービックキューブには何億通りのパターンがあって
それを全部記憶するのは無理だから無理
どんな並びだろうと一定の法則があって
簡単に算出出来る規則性があるなら可能だけど
表面的に知ってるだけだから
使い方・使い所がわかってないんだなぁ
NNは脳の構造を真似して作ったものだけど
研究していくうちに実は数学的にクラスタリングする機能しかないことが分かって
だったら無駄な計算なんかしないで直接的に数学問題を解けばいいじゃない
ってんで生まれたのがSVMとかで
最初は主に顔画像を検出したりする画像処理に利用しようとしてたけどうまくいかない
なぜなら数学的に問題を解いてもなおプログラム的には速度が遅いし
適切な記憶容量が計算出来ないからだけど
それで画像処理分野ではSVMなんかで統計を取る前処理として
データ構造を統計上問題の無い方法で単純化しようという研究が行われて
光源によって色が変わるから色は無視しようとか、角度によって分布が変わるから
方向は無視しようってな具合でどんどん条件を絞り込んでいったら
結局数学的にクラスタリングする機能を1つづつ専門分野に適用していってるだけだったというオチ
万能なNNを作ろうとすれば結局は数億規模のデータを処理出来るコンピュータが必要だという
結論に至っただけですよ
そして顔画像検出の有効な利用法を発明したんだけど
誰か研究してみたら?
心霊写真を見つけられるw
ニューラルネットってなんなの?
SOMもリカレントもボルツマン機械もぜんぶNN?
それとも、多段のフィードフォーワードのみのこと?
>>838 マッカロックピッツがどーこーの、1,-1をつかうモデルは何なんだ
>>842 定義としたらNNの仲間なんじゃないの?
一応ニューロンという概念と抑制性を利用してるわけだから
ただ発明した人はもう数学的に問題を解いただけだから
個人的にはニューロンとかいう言葉を使うのもどうかと思うけど
SOMは次元データを2次元に置換する公式を解くだけのものだし
リカレントはBPに時間遅延の概念を入れただけ
本来のニューロンのネットワークという意味でのNNとはどんどん離れていってるw
刻々と変化するネットワークをエネルギー関数を用いて最適化するのもNNって言うの?
どうやってルービックの解法をNN探すの?
最適化だからホップフィールドでやんの?
俺も教えて欲しい
それが分かった時点で研究が完了する
俺の出した結論は無理
浅いねぇ
無理なんて言葉は使わず非常に困難とかにしとけ
で、このスレにできそうなやついんの?
俺の考えが浅いのかお前らがNN理解してないのか……
〜INPUT〜
キューブは6面、1面には9パネル
操作はまわすことにより9パネルのうち3パネルが4面に関して入れ替わる
〜探索終了条件〜
6面の9パネルがおのおの同じ色になること
初期状態は探索終了状態のn手手前の状態
INPUTの操作を逐次記録する
典型的な探索問題だろ? むしろこれができなかったらNNなんて何ができるんだよ。
どうやって探索するの?
どうやって状態が遷移するのかが思いつかない
>>853 それでできるかもしれないけど記憶量が多すぎる
TSPみたいにエネルギー関数を使って勝手に最適化する方法は無いかな?
っ【連想記憶】
本なんかによっては別称かもしれん
ルービックキューブをNNでやるってのは
ルービックキューブに一定の解法の公式が存在することを証明する行為と同義でしょ
NNは関数近似なんだから
わざわざNNでやってみて試すことじゃないと思うけど
無理だけど、どうしてもやってみたいというのなら
まずは何億通りのパターンを一括で学習させるのは不可能だから
追加的に学習させるNNを作るのが先になるだろう
その時点でもう研究課題として成立しそうだけどw
ずっと俺のターン!なオセロやチェスと考えるんだ。
チェスなら参考論文とかでてくるだろ。
>>859 オセロやチェスは置くところ間違えてもゲーム終了するけど
ルービックキューブは終了しないから無理
じゃあ連想記憶じゃできないの?
>>862 どんな風に解くんだ?
初期配置のパターンを結合行列にでも記憶させて、極小値でも探すのか?
キューブはどうやって回すんだ
俺が考えたのは、まずエネルギー関数を作って
初期配置から、次の状態になりえる状態を列挙し、
列挙した中で、エネルギー関数が一番小さい状態に一つ決めて、
それを繰り返す方法じゃ無理かな?
これだとエネルギー関数しか使わなくて、閾値も結合荷重もシグモイドも使わないからNNといえるか
わからんけど
NNでできそうだけどな
どうすればいいか分からんけど
>>864 NN使ってもできるんだけどね
使うメリットとデメリットどっちが大きいかは知らないけど
>>867 概要だけでも教えてくれ
なんかやってみたくなくなった
連想記憶ですべてのパターンを記憶する以外にNNで実装する方法は?
>>864 NNじゃないね それじゃただ統計取ってるだけだw
閾値と重みを使って、ルービックキューブのルールどおりに状態遷移しないと駄目・・・
うーん難しい
これは立派な研究になるんじゃない?
そうか・・・無いなら作ればいいんだ・・・ルービックキューブのルールどおりに振舞うNNを・・・
>閾値と重みを使って、ルービックキューブのルールどおりに状態遷移
こんなのにNN使わん
NNでできないってこと?
何が?
>>875 NNでルービックキューブの解法を見つけること
>>861 オセロは何をしても基本60手以内で終わるけど、チェスは相手次第だよ。
一部の人は何かムダに難しく考えてないか?
主な条件は
>>853で書いた。
終了状態をf(n)とするなら開始状態はf(0)で、解くまでにn手掛かる。
NNで行うのはf(N-1)からf(N)を導くこと。
学習としては
・ある地点では不可能な操作を導いた場合は重みを変更する
・ある地点の値aがそれ以前の値Aと一致した場合、それは前に進んでない操作なのでAからaまでの操作の各々に対して重みを変更する
・f(0)に到達した場合はそれに至った操作の各々に対して重みを変更する
辺りで。普通にBPでいいんじゃね? 強化学習辺りを調べるといいかも。
NNに関する研究って意味では車輪の再発明以上のものにはならないはずだけど、研究したいなら俺には止める権利も義務もない。まぁがんばれ。
っていうかこれどこかの研究室の学生の春休みの宿題なんてオチはないよな?
>>877 躓いているのはそういうレベルの話じゃないと思うよ。
単純に何を入力したらいいのかわからないとか、教師信号をどうやって
取得したらいいのかわからないとか、そもそもNNがなにか分からないとかw
そんな気がする。
>>853 まわすと4面の12パネルに加えて、
回したパネル行(列)の側面も90°回すと思ったんだけどあってる?
回転させて意味あるパターンは4通りだっけ
>>877 それはルービックキューブの解法が分かってる時、次にどうすればいいかNNで学習させてるだけで
やりたいのは、初期配置を入力したら完成までの手順を見つける一連の操作をNNで実装したいんじゃないの?
NNで扱えるかは別として
ちなみに「ルービックキューブ AI 解く」でぐぐった結果、20手あれば解けることが証明されてるそうなので20手以上掛かる操作はアウトと教えてもいいだろうね。
読み込んでないからAIが具体的に何を使ったかまではわからん。論文検索できる人は論文を当たればでるんじゃないかな?
3x3の学習パターンから、NxN面を解くとかダメポ?
883 :
880:2010/05/11(火) 07:29:47
説明が分かりにくかったかもしれない
>>877のように説明すると
f(0)は初期状態
f(N)は終了状態(6面完成)
まずf(0)を入力する、すると
f(0)→f(1)→f(2)→・・・f(N)
のうように完成までの手順が見つかる
これをNNで作るってこと
>>883 強化学習とか連想記憶とかキーワードあげたろ? 作ればいいじゃん。
ちなみに「ルービックキューブ AI 解く」でぐぐった結果、
AIとは無関係にルービックキューブの最速解じゃないけど解法自体はでてきた。
>>877 だから
f(N-1)からf(N)を求めることがすべてNNに向いてるわけじゃないんだって
全パターンと次の手を完全に記憶するんだったらただの統計データベースなの
リュービックキューブのパターンを全部NNに入れ込もうとしたら物理的に
完全なデーターベースを作るのと同じ容量が必要になるの
NNでやるってくらいだから当然この容量を極小に削ることを考えないといけないの
そうするとほとんどのパターンは正確に記憶できないの
だから無理
>NNでやるってくらいだから当然この容量を極小に削ることを考えないといけないの
ここダウト。それは
>>885が勝手にNNはそういうものにしなくてはいけないって思い込んでるだけ。
今回の話はあくまでルービックキューブをNNで解くって話でしかない。話そらすな。
はっきり言ってNNを利用する必然は無いし、
NNがこの問題を解くのに最適だなんてことはこのスレの人間は誰も思っちゃいないわけよ。
いわば練習問題。
>>886 全部記録したらただの統計データベースだって
「連想」記憶じゃなくなるwだからNNではないw
連想じゃなきゃNNじゃないっておめーXOR解かせた事ないのか
889 :
デフォルトの名無しさん:2010/05/11(火) 15:58:39
俺が思うに連想記憶じゃアルゴリズムで解かせてるのと同じになる
ホップフィールドネットワークでルービックキューブ解けないかな?
NN (正確には ANN) の問題意識は,単に NN で何ができるかだけではなく,
NN の研究を通じて人間の(生体の)NN がどういうメカニズムで動いて
いるかを解明することにある
これを忘れてはイカン
891 :
デフォルトの名無しさん:2010/05/11(火) 19:50:18
巡回セールスマン問題が解けてルービックキューブが解け無いなんてことないでしょ
どうするかは知らんけど
>>888 XORが連想に見えないお前があほなんだ
11=0なのは例えでよく使われるだけで
実際には0.9 0.9 = 0.1 みたいなものも包括してるんだ
NNの分離能力が0.9 0.9 = 0.1 みたいなものも包括してる事と
XORが連想でないこととは関連性が無い
>>893 XORが連想じゃないって言ってるのは888だろw
なんで連想記憶問題によくXORが例示されるのか分かってないのかなw
一定のパターンを記憶出来ることを証明するためじゃないぞw
連想記憶ってのはようは
例えば整数値1....10000なんてのがあったらこれを00〜0.1に置き換える問題で
ただし尺度は可変だからn/10000なんて単純な式じゃない
例えば0.3〜0.4は200〜1000だけど0.4〜0.5は1000〜1010なんてことが起こせる関数の総称だよ
XOR問題は特殊でこれにさらに前後入れ替え作用まで引き起こせる関数の実証に使われる
ただのデータベースはn/10000だからNNじゃない
>>891 そりゃ解いたのが誰だかしらないが解いた気になってるとしたら相当あほなんだろ
気づかずにただ道順の総パターンの記憶装置を作っただけだと思うがね
>>897 総当たり以外に解法があるのか?まじで?教えてw
>>897 もしそれが本当なら最短経路探索にも解法が存在することになって
これはかなり実用的なものだぞ
「解法」って何の事なんだろうね
>>900 知らないが、総当りで得ものはNNではないといい続けてるから
>>897の言う解法はそういう意味ではなく、純粋に多項式で解く方法を意味して言ってるんだろ思ったんだが
アルゴリズムを高速化しただけの近似解法はただの総当たりなんでこれも違うだろうし
総当りでやるものは
ホップフィールドで、巡回セールスマン問題は解ける(もちろん、決定的な解じゃなく、総当たりで)
ルービックキューブはNN使って総当たりで解け無いの?
もうだれかやってみろよ
>>984 >>NNによってブラックボックス化することで多項式の代わりとするもの。
ずっとそう言ってんだけど
だから多項式解法が存在しないものにNNを使う意味がないと
仮に使ってもそれはNNの本来の使われ方じゃないからNNじゃなくなると
正確にはただのデータベースとしても使える
多項式を記憶出来るから当然線形問題も記憶出来る
だけどそれはわざわざNNでやる話ではないというだけのこと
なんかよく分からなくなってきた
ホップフィールドネットワークで解く巡回セールスマン問題は多項式解法なの?
なんかルービックキューブの解法の場合は、プログラムする側が「次の手順が分かっていなければ」次の状態を記憶することができないみたいだね
人間がこれだ!という手順を知らなくても発見的に次の手順を見つけるNNは構成できないわけだ
俺も
>>908みたいな話だと思っていた
TSP(巡回セールスマン問題)で例えると、最短の経路を求めるために相互結合NNを使って、最短の経路を求める(近似解ではあるが)
ルービックキューブも同じように、解法経路を求めるためにNNを使い経路を求める(どんなNNか分からんがおそらく相互結合型に近いNN)
どちらも共通して言えることは、人間側は解がどのようになるかは分からないってことで、勝手に解を見つけられるNNを作ることはできるか?って話題じゃないのか?
解法を随時記録していくって話じゃなくてさ
>>908 プログラマが分かるってのは総当たりチェックして最適解を学習させることと何が違うんだ
>>909 近似解って意味なら出来る場合もあるけど
たぶんその巡回セールス問題のやつは都市数が少なくて近似でもなんでもないんだろうけど
近似解はあくまで近似解でセールス問題もゴールありきだから間違えても問題ないけど
ルービックキューブは間違えると永遠にループしたりどんどん離れていったりするから無理
どれくらいの割合で正解するかは単純にNNの記憶容量に依存するだけ
だからやっても面白くもなんともない
TSPの場合は解(近似解)が最後に求めることができればそれで終わりだけど
ルービックの場合は解法の経路を求めるから根本的に違うかもしれないけど、
経路をNNで求められたら面白いと思うけどな
実時間で計算出来るサイズのNNじゃ正解率1%もいかないと予想
>>910 ループや離れるから無理ってんならチェスも無理だな。
ユーザが意図的にループさせる手を打ってくる可能性もあるし。
本当にそうなのかな?かな?
多項式解法が存在しないものなんて世の中に存在するのか?
多項式解法が証明されているかいないかだけの話だろ。どちらかというとNNよりカオスな話になっちゃうけど。
ここでルービックキューブの問題は出来ないって言ってる人に質問。
逆にNNでできることって何? 具体的に。
○○のようなこと、とかじゃなく○○ができるって言い切りの形で。
ついでに勝手に解を見つけるNNの具体例もあるとありがたい。
どういう状態のNNのことを勝手に解を見つけるNNと言ってるのか分かりやすくなるから。
>>913 チェスは動ける方法が制限されるという暗黙のルールが学習する以前に存在していて
それが仮にランダムに選んだとしても一定の流れを作ってゴールに導く
>>914 いっぱい
RSA暗号の解読はいくら学習させても無理でしょ
>>915 多項式で計算出来ることが予想出来るけど、具体的にどういう変換式なのか
分からないものにNNが有効
つまり一定の規則性が認識出来るもの
例えばルービックキューブに定石のような決まった手があって
それが数パターンに制限されていて、それを繰り返すだけで解けるというのなら
そのパターンを学習するこは出来る
どういうパターンなのかをあらかじめ人間が知る必要は無い
>>916 チェスだとそうすることで出来るんだね? ならなんでルービックキューブはできないのかな? おかしいね。
RSA暗号は本当にできないのかな? RSA暗号は詳しくないけど素因数分解ってNN適用範囲内じゃね?
今のコンピュータのスペックの処理速度で終わるかどうかは別として。
で、だから具体的にNNで何が出来たの? 規則性で認識できるものとかそういう言葉遊びは要らないから事例くれよ。事例。
その事例ではできるのになぜルービックキューブはできないと言い張るのか考えようや。
理論的には可能だが現実的には不可能、みたいな話の場合は話がかみ合わないことが多いよね。
個人的には理論的には可能か不可能か、から入るべき、というかそこから入らないと現実的に可能か不可能かもはっきりしないと思ってるんだけど。
不可能であることを証明するのが凄くしんどいのは分かるけどさ。
>>918 NNでルービックキューブが解けるとおもってんだろ?
背理法でいいからお前証明してみね??
NNでルービックキューブが解けないとする。
ルービックキューブとは6色・6面体・1面につき3x3の配置を持つ物体であり、3x3の列はいずれかの列を90度回転することが可能である。
「全ての面が揃っている状態からいずれかの配置を90度回転した状態」から「全ての面が揃っている状態」をNNを用いて記録することは可能である。
「全ての面が揃っている状態からいずれかの配置を90度回転した状態からいずれかの配置を90度回転した状態」から「全ての面が揃っている状態からいずれかの配置を90度回転した状態」をNNを用いて記録することは可能である。
以下、「nからいずれかの配置を90度回転した状態」から「n」をNNを用いて記録することは可能である。
nは「全ての面が揃っている状態からいずれかの配置を90度回転させる操作をN回行った状態」でありNは0以上である。
また、ルービックキューブの全ての配置の組み合わせは有限である。
よってNNが記録している限り、再帰的に全ての面が揃っている状態を導くことは可能である。
これはNNでルービックキューブが解けないと矛盾する。
よってNNでルービックキューブは解ける。
上の方のf(N-1)からf(N)云々を言葉にしただけだけど。
書いてて改めてNNでやる必然は無いと思ったが、NNで出来る出来ないで言えば出来る。
教師なしでやりたいとかPCの限界超えるとか後付けは幾らでもあるだろうけどそれはまた別のお話。
>>918 ルービックキューブに定石のような決まり手が存在しないことが研究で明らかだから
>>920 そりゃRSAだって有限だよw
ブルートフォースなんかやらなくてもあらかじめ計算済みの
パスワードと暗号列の対応データベースを作れば一瞬でパスワードが逆算出きるよ
ただそれは1つのパスワードを解析するのにデータセンター規模のデータベースが必要だけどw
そしてそれはNNじゃないしw
PCの限界はどうでもいいとして、教師なしでは実現できない?
>>920 そんな、ありきたりなNNの使い方はいいから、教師信号なしで自動で最適化してくれる方法おしえてくれ
もう探索して、探索した経路をNNで記憶すればいいよ
教師信号は必要だけど、作る側はその教師信号を知らないわけだし
探索したらもう終わりでいいじゃんって話になるけど
教師ありのNNなんて内部が暗号化されたDBのようなものだからなぁ。
教師なしはそもそも(ルービックキューブに限らず)実用例思いつかない。
間違いを学習しまくってNTRR気分を味わうくらいしか
このスレにいるやつじゃ教師なしで最適化問題を解けるNNは構築できないよ
仮にそうだとしてこの話題に何か支障をきたすのか?
そういうレスは恥ずかしいから他ではするなよ。
俺は経路探査をNNでやりたいんだよ
でも、自力で出来ないからこのスレの人に聞いてるんだ、分かるやつ教えてくれ
終了
教師無しの基本は統計
一人でできないのなら、みんなでやればいい
少なくともこのスレの住人はNNを専攻してきた人が多いだろうからさ
質問したら、それなりの答えが返ってくるさ
いや、教師なしじゃできないと思う
SOMなりLVQなりで、kphereもどきを動かしましたな論文が
その辺にあるだろ
ルービックキューブは教師なしだろうが出来ないっつーの
まったくゆとりはこれだから
専攻してなくてもそれくらい分かる
なぜ、できないの?
できたよ
>>935,937
おい、ネタで言ってるのか真性なのか判別しづらい、どっちだよ。
俺は教師なしでできると思ってる
やり方は分からんけど・・・
もちろん真性
無理です。
エネルギー最小化問題にしたみたところでTSPのようにいきなり解(六面揃い)が求まるだけで、経路は求まりません。
ルービックキューブが解けるのなら、どうしてチェスにニューロが使われないのか。
出来ると言ってる方に証明責任がある
ルービックキューブほど大きくなくて、ニルソンのA*でも使われてる
8パズル辺りなら実用的な時間で解けると思う
>>941 君が知らないだけ
チェスに使われてるよ
論文探しても見つからないんだけど
情弱乙
論文kwsk
kphereもどきってなに?
>>944 ほぉ、どういう使い方でしょうね。
連想・類似記憶で定石パターン検索とかかなぁ。
で、経路探索にNNが使われている実例は無いの?
8パズルなら状態数が少ないからって
教師なしでできるもんなの?
NNがチェスに使われてるのって強化学習+NNでしょ
最適化問題とはちょっと違う
強化学習の原理
NNだろうがなんだろうが基本は統計的アプローチだ
情報を収集する->情報を整理する->出力を考える
この3段階で行われる
例えば
入力Nはパターン0〜9
10個の配列があったとしてA[10]
入力Nが得られた時にA[N]をある規則f(N, t)で更新することで
A[N]の中身が時間と共に重要度が増すような関数を入れる
すると経験として蓄積されたA[N]は学習された結果になる
以下のメッセージは省略されました
>>952 君が想像していたのと違っていようがNNである事に違いない
最適化も統計もパターン認識なども情報幾何からみたら似たような問題
まったく同じ問題
NNの中間層ってどうやって決めればいいの?
入力層の数を倍にした数に近い素数がいいって夢枕でばっちゃに言われた
それを考えてみた
1と0の極入力2出力2でXORを解くには最低3個の中間層が必要
問題は入力が増えた場合だけど
必要な記憶容量は指数関数的に増大する
具体的な算出式までは分からないが、それを誰か研究してもいいんじゃないか?
出力1桁に求められる精度をa(0.1区切り)とか
つまり必要な中間層の数は(1.0 / a)^入力桁数+3だな
(1.0 / a)^入力桁数+3*(1.0 / a)
こうか
実際には排他的論理和は中間層の素子は2つで解けるわけだから
入力の倍に近い素数ってのはおまじないに過ぎないってことだ
中間層のニューロンの数は?
入力が実数値で出力も実数値のNNって作れるの?
うん
実例は何がある?
だれかリカレントとかスピングラスについて語ってくれ
リカレントは中間層に一回前の反応をリピートさせることで
時系列の関係を数値化しようとするもの
スピングラスはよく知らないが
たぶん、実際の脳細胞は同じ入力があってもランダムに発火したりしなかったりしてる
ライダムは無価値で今まで無視されてたけど
そのランダム性が本当は重要で結果に影響を与えてるのではという統計学仮説がある
何十年も前から研究されてる割には糞の役にも立たないイメージしかないんだが
最適化問題意外に利用法あるのか?
みらいの攻殻機動隊には必要な技術です(テキトー
光学迷彩的な意味、AI的な意味?
このモデルじゃどっちも無理だろ。せいぜいアイボ止まり
脳をシミュレートするのは今のコンピュータじゃ無理だとか言わずに
一言発するのに一週間掛かってもいいから
まともに機能する人工知能の基礎モデルくらい作って欲しいな
後はコンピューターの性能向上を待つだけとかになれば
特化したCPUを開発するとかいう道も開けるだろうに
コンピュータの性能が無理なんじゃなくて、
リカレントモデルで、どーこーってのが無理
0,1の入力の素子が36個に対して
出力が-1~1の実数の場合、中間層の素子の数はいくつにすればいい?
たくさんあれば近似能力があがる一方で、計算時間が伸びる
とか適当こいてみよう。ciniiなりなんあり漁れよ
3じゃない
2の36乗+3にしとこう
1個以上
2^36は多すぎ
どれもだめ
記憶させるものの規模は書いてあってもその量が書かれていないんだから決められない
>>971 脳をシミュレーションするのと人工知能は関係ないと思うんだが
983 :
973:2010/06/08(火) 04:17:39
>>981 記憶させる値は-1.0から1.0まで0.1刻みで20個記憶させます
21個じゃなくて?
21でした
で、いくつがいいの?