- 1 名前:1 [04/09/11 01:48:08]
- について教えてよ
- 331 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 19:26:55 ]
- >予測株価と実際の株価の誤差
は評価でき(るほど上手くいか)ないから代わりに使ってるんだと思われ
- 332 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 19:40:23 ]
- >>330
質問には答えられないのだが、参考までに ニューラルネットを使った株価予測の論文を読んでみたいです。 よければ、ポインタを教えてください
- 333 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 22:46:48 ]
- >330
株を売り買いして利益を出すには株価そのものを予測する必要はなく その時点から直近で上がるか下がるかだけ予測できれば良いから。 実用的に必要最小限の予測をしている(方が予測が当たりやすい)から だと思われ。まあ、変動があまりに小幅なら売買手数料のために逆に 損する可能性もあるが。
- 334 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 16:14:45 ]
- GPUを使った実装というのに挑戦してみた。
オライリー本のAI入門に載ってる内容を弄っただけだし CPU版の実装よりクソ重いしと散々だけど動いてくれて嬉しいぜ…。 チラ裏
- 335 名前:デフォルトの名無しさん [2008/01/28(月) 09:11:15 ]
- ニューラルネットワーク
zoomtv.atspace.com/?X&2052226&0607@HiSpeedVision
- 336 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 10:38:40 ]
- 上がるか下がるか当てるだけを評価するなら
ぶっちゃけ学習自体も regression じゃなくて classifier で良いような?
- 337 名前:デフォルトの名無しさん [2008/01/28(月) 17:19:14 ]
- ところで、データの娘の名前が思い出せない。
- 338 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 01:01:48 ]
- >>334
へぇ、そんなのできるんだ。 昔ちょっとだけDirectXいじってたんだけど、どうやってしてるの? 最近のGPUだったらピクセルシェーダーとか使ってるのかな。 もしデバイスのIOを直接叩いてるんだったら、かなりのもんだね。
- 339 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 08:30:21 ]
- shaderだろJK
- 340 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 09:54:31 ]
- GPGPUだね
- 341 名前:デフォルトの名無しさん [2008/02/01(金) 16:49:06 ]
- ニューラルネットワークのプログラムを組んでみたんですが、バグのせいかどんな入力に対しても同じ値しか返しません
原因としてどのようなことが考えられるか、教えていただけないでしょうか?
- 342 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:52:10 ]
- だったらソース晒しなよ
- 343 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:58:38 ]
- >>334
CPUより遅かったら意味ないじゃんw でも、素子数が増加しても並列計算でスピード変わらん!とかあるのかな?
- 344 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 17:11:43 ]
- 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]; }
- 345 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 17:12:35 ]
-
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を使ってます。
- 346 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 17:36:31 ]
- >>341
ソースまだ見てないけど、学習後の重みをファイル出力してみて、 全部0とかになってたら、BPの実装ミス。 そうでなかったら、全部同じ出力とかにはならないだろうから、 入出力間の伝搬のミスってことになる。
- 347 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:00:55 ]
- 重みがそれっぽい感じになってて、出力も学習元のデータからして異常とは言えない数値になってます。
具体的には、 学習させた結果の重みを別のプログラムに読ませて、foward propagationだけを行って予測させる。 その予測された結果を入力の一部として使って、さらに次の予測をさせる という風にしているのですが、最初の予測結果と2番目以降の予測結果が全く同じになります。 何回学習させても重みが変わらなかったり、1回目だけ変わってその後変わらなかったりするのでback propagationに問題があると思って途中の重みやその変化量を表示させているのですが、原因の見当がつかず困っています。
- 348 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:03:54 ]
- >dho[i] = signal[i] - oout[i]; //出力層の誤差の計算(出力はシグモイド関数にかけてない)
そもそもこれが許されてるのかどうか俺は知らんのだが、 >dih[i] = hout[i] * ( 1 - hout[i] ) * sum; //中間層の学習信号 シグモイド通してないなら x*(1-x) が出てくるのはおかしくね?
- 349 名前:341 mailto:sage [2008/02/01(金) 20:08:23 ]
- >>348
中間層の出力はシグモイド関数にかけてるのでそこはあってると思います
- 350 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:47:11 ]
- > dwho[j][i] = ( Eta * dho[j] * hout[i] ) + ( Alpha * dwho[j][i] );
dwho[j][i]決めんのにdwho[j][i]使ってるけどこれっていいのかな? 時系列扱わせているみたいだから、前時刻の修正量を重みAlpha反映させたりしてるの? あと気になるのは、sumに足しこむのがwhoとかの修正前な気がする。 まあ、自分のコードと大分違うんでわからんけど。 多少面倒だが、いきなり目的のデータ使うんじゃなくて、 y = sin(x)のような既知の単純な学習データで検証するのも手かもしれない。
- 351 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 03:37:33 ]
- しきい値に関しては定数入力を用意して重みで実現する方が
プログラムがすっきりするし高速化し易いから定石なんだよね この実装は普通のとかなり違うからコードだけじゃ分からないねぇ 元の式から書いた方がいいと思われ 元式の微分周りにはミスはない?
- 352 名前:341 mailto:sage [2008/02/02(土) 23:38:31 ]
- すいません。
BPではなく、最初に重みとしきい値を乱数生成する部分の範囲がおかしかったようです。 ご迷惑おかけしました。
- 353 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:40:38 ]
- >>323の判別分析をググってみたんだが
これでNNに入力する特徴量を選択をする場合、 あるデータに対して特徴量ごとに判定結果を算出して その結果をもとに特徴量の有効性を計算するの? それとももっと正確な指標が数値で出るの?
- 354 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:06:50 ]
- >生データから抽出すべき特徴量を決定する指針
の話だったから(分類用なら)判別分析で固有値が大きい方から順に と思ったのだが. 学習済みの NN の隠れ層に形成された特徴の寄与率を評価するのは また別の話になると思う 定番というのは知らない(あるのか?)が, 例えばあるニューロンを一個切り離して成績を比べるとか
- 355 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 14:49:34 ]
- 今回の卒検でjooneとかいうjavaのニューラルネットワーク・ライブラリを使おうとしてたんだが、
正直失敗した。 がんばって英文を読んだにもかかわらず、使いにくい設計、やる気をそぐスペルミス(cycle->cicle)など、 三日がんばったんだが、結局自作のプログラムに戻した。 そしたらやろうとしてたことが十分ぐらいでできてまた泣いた。 もうこの際みんなでオープンソースのライブラリ作らない?
- 356 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 15:31:42 ]
- 面白そうだとは思う。
しかし言いだしっぺが大まかな仕様や実装例を上げないとgdgdになる法則。
- 357 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:27:12 ]
- 俺はニューラルネットに全然詳しくないのだが、
こういう分野の理論ってライブラリ化できるものなんでしょうか? 俺みたいな詳しくなくてもコンポーネント的に簡単に使えるようになると、 すごく面白そうな悪寒。
- 358 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 22:45:06 ]
- haskellのfgl使ってろや
ニューラルネットとか言っても所詮はグラフ
- 359 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:56:23 ]
- 日本語でOK
- 360 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:02:15 ]
- まだ大学1年生でコンピュータサイエンスは素人同然なのですが、
ニューラルネットって重み付きグラフというものとは違うものなのですか?
- 361 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:01:53 ]
- >360
ただの情報(データ)表現の一種であるグラフ(重み付きでも)と 情報処理装置であるニューラルネットをどうやったら混同できるんだ?
- 362 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:09:37 ]
- 時間という流れるものに犯されすぎ
- 363 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 01:21:11 ]
- え、ぜんぜん関係ないんですか?
ニューラルネットは重み付きグラフで表現できない??
- 364 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 03:58:44 ]
- 接続関係だけ表現しても道路地図や路線地図と何も変わらん
- 365 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:26:00 ]
- 簡約によって副作用が生じる場合と生じない場合で「表現すること」と「計算すること」の同値性が崩れる場合があって,
「表現するだけでは足りないのだよ・・・副作用は表現では現れない」という結論を導きたかった. 具体的に言うと「ニューラルネットワークは重み付グラフで表せますか?」は 「ニューラルネットワークは自身の重みを時間の推移に従って書き換えていく(副作用)があるので,あらわせない」だ. で,簡約で副作用を容易に持ち込めるlispを使って例を挙げたかったがあきらめた(^p^ 重み付き非決定性グラフとかあれば表現可能かも
- 366 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:33:17 ]
- >>365
別にそういうアルゴリズムは副作用なくても表現できるんじゃないの。
- 367 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 04:47:05 ]
- だって、NNの推移って、グラフからグラフへの関数を一定時間ごとに呼び出すだけでしょ?
- 368 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 05:00:35 ]
- どうやら「表現」に関して認識の差があるみたいだ
語彙が足らなくてうまく伝えられないから引っ込むぉ
- 369 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:16:18 ]
- ニューラルネットにとって時間の推移(時間発展)は
本質的だと思うけどな。 そういう意味で(副作用の無い)関数とは全く異なる。 そう言えば「副作用」って大抵、時間に関係してるな。 「時間」の推移による変化も完全に記述できる「述語論理」が まだ発明されていないと言うのが大きいのかな?
- 370 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:33:04 ]
- >>369
たとえば、Haskellの場合はIOモナドに処理手順を閉じ込めてしまえば、main関数の終了時に順番に実行してくれる。 遅延評価だから、停止しない処理も記述可能。 1ms毎に関数を無限に適用し続けるといった処理も(言語仕様上では)副作用なしに記述可能。
- 371 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 10:55:17 ]
- >>369
たしかに、そうだな。 仕様記述言語のZという言語を研究で使ったことがあるが、たしかに時間に関する記述はできなかった。
- 372 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:15:48 ]
- >370
うん。 しかしHaskelの場合であっても時間による副作用を 全てI/O処理(言語仕様の外側)に閉じこめているだけであって、 時間発展(副作用)のある系の記述を無い系の記述に 全て変換してしまえるわけじゃないだろう?
- 373 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 11:27:57 ]
- >>370
時間見てワロタ お前いつ寝てんの?w
- 374 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:17:46 ]
- 結論として
「副作用の全く無い関数型言語のみで記述できるアルゴリズムでは 時間発展のある系の完全なコントロールはできない」のだと思う。 コントロールしようとするとどうしても アルゴリズムの中のどこかで副作用を意識せざるを得ない。
- 375 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 12:58:42 ]
- >367の間違いはニューラルネットの重み付け更新
(NNの推移)はその出力に依存する事を忘れている事だと思う。 即ちNNの機能は処理の時間的順序関係に強く依存している。
- 376 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 14:24:56 ]
- 昔々,Prolog で I/O もバックトラックしたら
という話を思い出した
- 377 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 16:48:58 ]
- ちょっと訂正
>375は「NNの推移はその入力に依存する」がより正しいな。 入力がすべて既知とするなら出力は先に計算できるわけだから。 提示される未知の入力に対して(その一部を)記憶し 適応するからこそ時間依存の(時間で発展する)系なわけだ。
- 378 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 17:58:01 ]
- もうひとつ結論
「記憶し、学習し、適応する」=「副作用」
- 379 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:05:32 ]
- 結局、NNのデータ構造はグラフってことでOK?
- 380 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:35:19 ]
- >379
いき値固定でかつ各ニューロンの情報処理(計算)機能を 省略して表現するなら。 また静的な重み付きグラフならある時点での (データ構造の)スナップショットと言う事になるな。
- 381 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 20:58:18 ]
- それNNじゃないしw
- 382 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 21:39:53 ]
- もちろん静的重み付きグラフはニューラルネットそのものではない。
ただし処理のアルゴリズムとは区分されたデータ構造では有りうる。 条件付きでだが。
- 383 名前:360 mailto:sage [2008/02/08(金) 21:47:24 ]
- ノードのラベルに閾値を割り当てればいいですか?
- 384 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 22:14:39 ]
- >383
純理論的にはそう思うけど。 ただBPとか実装しようと思うと他にもいろんな変数を使う必要が出てくると思う。 各ニューロン毎に保持したり、恒常的に保持する必要は無い変数だろうけど。
- 385 名前:360 mailto:sage [2008/02/08(金) 22:27:23 ]
- >>384
その点は問題ないと思いますよ。 ノードのラベルの型を代数的データ型にするか、ペアで表現すればよいと思います。
- 386 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 19:08:28 ]
- 学習によって全体的な誤差を小さくしていくと、最大の誤差は逆に増えていくのですが
この問題を解決する手法って何かありませんか?
- 387 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 20:16:45 ]
- 全体的な誤差って何? 最大の誤差って何?
解決って具体的にどういうこと?
- 388 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 14:44:32 ]
- 総誤差関数の値が小さくなるように学習を続けると
特定の入力バターン(誤差が最大のもの)に対する誤差が 逆に大きくなると言う事でしょう。 その入力だけ元々パターンから外れている (ノイズが乗っている)て事は無いのかな?
- 389 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 15:14:01 ]
- 解決したいってのが,
それも含めてフィットさせたい ってことなら考え直した方がいい
- 390 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 23:30:51 ]
- ちょっと前にGPU(GPGPU?)使ってNN動かしたって人がいたけど、
世間的にもそういう動きがあるみたいだね。 GPGPUのキラーアプリケーションは「グラフィックス」 − @IT www.atmarkit.co.jp/news/200803/06/cuda.html 早めにフレームワークでも一つ作っておけば広く普及するかも。
- 391 名前:デフォルトの名無しさん [2008/03/08(土) 20:36:24 ]
- ニューラルネットを使った株価予想って具体的にどうやってるんですか?
- 392 名前:デフォルトの名無しさん mailto:sage [2008/03/08(土) 21:03:05 ]
- 現在から過去何単位時間かの株価の推移の情報を入力し、次の単位時間での株価を出力
- 393 名前:デフォルトの名無しさん [2008/03/08(土) 22:46:50 ]
- >392
なるほど、ありがとうございましたm(_ _)m
- 394 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 05:18:37 ]
- >>392
随分といい加減なwww
- 395 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 20:18:38 ]
- >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層だそうな。 内容については良く分からないので自分で本か論文に当たってくれ。
- 396 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:03:12 ]
- この手のシステムは本当に使い物になったら秘密にされるので
最先端は公開されないことに注意 まぁまだ実用には程遠いと思うけど
- 397 名前:デフォルトの名無しさん mailto:sage [2008/03/10(月) 22:11:08 ]
- と言うか誰でも簡単にそのまま真似できるほど詳しい内容は普通、公開されないよ。
だが飽くまで研究目的の参考にしたいと言うなら先行研究がいろいろあるはず。 本当に物にしたければ自分で研究するしか無いだろう。
- 398 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:13:50 ]
- ニューラルネットの素人目に見てだけど・・・
>>395 どうモデルにするかで全然違ってきそうですね。 どこに注目するか?というか。
- 399 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 01:42:37 ]
- >398
現状のような外部要因でひどくグラグラ振れるような市況だと 何年も前に作ったシステムはもはや通用しなさそうだね。 円ドルレートだけじゃなくサブプライムがどうしたとか、 モノラインも危ないとか原油1バレル何ドルになったとか いろいろな事を加味しないととてもまともな予測にならない ような気がする。
- 400 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 03:57:58 ]
- 俺も株価予測の真似事してたけど、結局そこなんだよな。
影響範囲が広域すぎて、正攻法で学習させようとすると重み係数が多くなり過ぎちゃう。 多分NNの多段化やGA組み合わせればちょっとはマシになるんだろうけど、 基礎研ではそこまでできんかった。
- 401 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 13:19:28 ]
- FRBの議長の失言とかもあるしなぁ
- 402 名前:デフォルトの名無しさん mailto:sage [2008/03/12(水) 18:53:07 ]
- 考慮すべき要因が多すぎるし、影響力も定量的には計れない。
NNだけで扱いきるのはむりぽ。 NNとは別に、その辺の事象を十分に少ない特徴量で表現する研究の方が重要じゃね?
- 403 名前:デフォルトの名無しさん [2008/03/13(木) 18:58:19 ]
- 意味のある特徴量をGAとかで検出できたらいいかも
- 404 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 05:53:51 ]
- >GAとかで検出
GAが何か分かって言ってる? PCAやAIC辺りなら兎も角
- 405 名前:デフォルトの名無しさん [2008/03/14(金) 19:35:33 ]
- >>395
素人目でみてなので 突っ込み希望なのですが、 >>395みたいなのって、結局のところ、 多数のパラメーターからニューラルネットで最適値を見つけるように見えます。 そうすると(株でも先物でもいいのですが)システムトレード的には、 パラメータが多くなればなるほど、 過度の最適化というか、カーブフィッティングのようになってしまい、 未来の予測(といっていいかわかりませんが・・・)をするには不適ではないかと思えてなりません。 これは、モデル化の方法などでカバーできる問題なのでしょうか?
- 406 名前:デフォルトの名無しさん mailto:sage [2008/03/15(土) 11:27:13 ]
- 入出力が実数とは限らない
機能を入出力とすると ほ〜ら
- 407 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 09:05:55 ]
- 誰かSSE,MMX,デゥアルコアに完全対応していて
なおかつ入力出力サイズが可変出来て状態保存の可能な NNのWindows Cライブラリを作ってくれまいかね いやもちろん細部はアセンブラで超高速なわけですが
- 408 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 13:34:29 ]
- >>407
仕様とアルゴリズムを決めてくれたら作ってもいいけど。
- 409 名前:デフォルトの名無しさん mailto:sage [2008/03/16(日) 19:19:37 ]
- アルゴリズムは教師信号を持ったバックプロバケーション
構造は選択式 単位データは32bit整数 必要なメモリを確保する関数 ・入力信号の配列数 ・出力信号の配列数 を指定すると確保したメモリのポインタを返す 教師信号配列を渡す関数 学習する関数(同期型と非同期型) 実行する関数(学習したものを利用するだけ、同期型と非同期型) 非同期用コールバック 学習情報を取得する関数 ファイルの保存はあっても無くても良い あるなら圧縮保存出来ると良い ハードウェアアクセラレータは自動検出し最適なコードを実行する こんなんでどうでしょう?
- 410 名前:デフォルトの名無しさん mailto:sage [2008/03/17(月) 11:53:49 ]
- >>409
>教師信号を持ったバックプロバケーション このあたり、もう少し具体的に書いてくれ。 詳細な説明のあるサイトへのリンクでもいいし、サンプルコードでもいい。 当方最適化は得意だが、NNの知識が足らないので。
- 411 名前:デフォルトの名無しさん mailto:sage [2008/03/18(火) 01:54:02 ]
- いろいろ調べてたらGPGPUのほうが早いらしいので却下w
- 412 名前:デフォルトの名無しさん [2008/03/18(火) 22:14:51 ]
- Cellも早いらしいぞ
- 413 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 02:14:41 ]
- 俺の方が早い
- 414 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:17:59 ]
- Cell B.E.でニューラルネットワークを実装した研究例ってあったっけ?
Cell&Neural Networkで検索してもCellular Neural Networkとか 細胞の方のCellとニューラルネットワーク関連の話しか出てこない。
- 415 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 08:02:36 ]
- お前らちょっと聞きますよ
バックプロパで重みをランダム修正するじゃない すべてのパターンで正常な結果が出たら完了じゃない これって古い学習結果をある程度保持したまま 随時新しいパターンを学習していくって方法はないのけ? 画像認識だとものすごい量の学習サンプルが一度に必要になるじゃない 随時で学習できればいいのにと思うのです そういうアルゴリズムってあるのですかね?
- 416 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:57:44 ]
- 多峰性とか局所最適解とか考えた上での発言・・・とは思えない
- 417 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 15:06:23 ]
- >415
BPで入力パターンが来る毎に少しずつ学習させていく手法は可能だし、 普通にあるよ。 参考: ttp://matrix.cs.ce.nihon-u.ac.jp/~matsui/research/bp/bp.html ttp://www.twcu.ac.jp/~asakawa/waseda2002/bp.pdf ただ、いつまでも学習させてると上の人も言ってるように 局所解とか過学習(般化能力の欠如)が問題になってくる。
- 418 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 22:11:26 ]
- >>414
去年、サクシスって学会で賞をもらってた人がやってたような気がする
- 419 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 00:20:30 ]
- >>416
ペッ >>417 ありがとう、そういうことです 過学習かどうかの判断は結局プログラム的には無理だから 人為的に止めることは考えてますとも
- 420 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:46:34 ]
- ニューラルネットって懐かしいな
その昔、甘利さんの本に二足歩行の最適化てのがあって憧れたんだが 今思うと嘘臭いよな。現実的な時間で収束すると思えないし 二足の自律歩行モデルなんて当時はロボティクスの人でも出来てないだろ
- 421 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:46:13 ]
- >420
反論したいんだが、何らかの根拠を示した反論ができない。 ちなみに二足歩行ではどうか知らないが、倒立振り子を ニューラルネットでうまく制御したと言う研究をかなり 昔にTV番組か何かで見たな。 傾き具合をカメラで検出しながらレールの上で台車を 左右に動かして制御する方式だったと思う。 (二足歩行よりはるかに簡単だったとは思うが)
- 422 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 19:16:44 ]
- 確かに倒立振子だと出来そうだけど、どう考えても解析的に解いたほうが良さそう
他の手法よりもニューラルネットが最も適するような問題って何かあるんだろうか それが見つからない&学術的につまんない->飽きられる->予算取れない->今に至る。で、あってる?
- 423 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 01:08:27 ]
- >422
倒立振り子のてっぺんに腕を付けてさらにその両端に小さな振り子を 付けたりしたら(つまりカオス振り子に仕立てたら)解析的に解いて 制御する事はもはやできんだろう。 ニューラルネットでうまく制御できるかどうか、やってみないと 分からないし、そんな事に何の意味があるのかと問われると困るが。
- 424 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 02:51:33 ]
- 解析的に解かなくても制御できるのがNNの利点なのだが
例えば人間の腕なんて解析しようにも必要なパラメタの測定が大変だし 一回測定してもどんどん変化しちゃうわけで
- 425 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 11:33:45 ]
- 人間の腕なんて解析して何に使うんだよ
- 426 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 13:23:32 ]
- >425
高度な義手あるいはロボットアームの開発
- 427 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 19:20:50 ]
- パラメタを測定してモデル化というのはバイオメカニクス的手法なんだろうが
それならニューラルネットを利用できるかも知れない やっぱりそれが最適とは思わんけど 運動学・動力学的な束縛を解く手法はここ10年程で物凄く進んでいる わざわざ不安材料の多いニューラルネットを導入する必要はないはず 倒立振子も3段の制御に成功したというのをどこかで見たがソース失念
- 428 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 20:57:47 ]
- 例えば家庭用あるいは介護用ロボットで物を扱う場合
対象の質量やモーメントを事前に測定しておくことはできない こういう物に対応させるには何らかのadaptiveな手法が必要 その一要素としてNNを使うのが現代的 NNだけでやれることは非常に限られるし
- 429 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:41:30 ]
- 高次元でグニャグニャ曲がった未知関数を近似したいと言う時、
バックプロパゲーション型のニューラルネットは有用だと思う。 特定の応用にどんなものがあるのかは良く知らんが。
- 430 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:43:48 ]
- >>428
学習したカテゴリに属さないお婆ちゃん(ってどんなのかは知らんけど)は放り投げられたりして。 まあ冗談だけど。 >>429は何か応用例があったら知りたい。 それでも解析的に解けない問題には数値演算(反復解法)があるし ニューラルネットとは違って計算を打ち切った時点なりの精度は得られる。
- 431 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:06:11 ]
- >430
数値演算で解くためにはともかく方程式を立てる必要があるでしょう? 微分方程式なり何なりの形で。 対象にしているシステムの性質に未知な部分が多くて、その方程式 自体が立てられないと言うような状況にニューラルネットは有用。 関数近似器になると言うのはそういう意味。 いったん近似できたら後はその極大値(極小値)を探すと言うような応用。
|

|