2011年05月28日

ニューラルネットワークで画像の拡大

なぜかたまに画像を拡大したくなります。

ニューラルネットワークでやってみましたが、普通にバイキュービックとかLanczos使ったほうが早くてきれいでしたね。

まぁ使い方が良くないんだと思いますが。

概要は下図のような感じです。

nn_scaleup_001.png

入力12素子、中間層100素子、出力12素子で学習に数時間かかりました。拡大するときも中間層が多いと時間がかかると思います。

実行結果

nn_scaleup_002.bmp

128x128の画像を512x512に拡大した結果です。右端と下端がおかしいのは仕様です。

web拍手 by FC2
posted by シンドラー at 17:46 | Comment(2) | TrackBack(0) | Neural Network | このブログの読者になる | 更新情報をチェックする

2010年09月26日

自己組織化マップのテスト

領域分割に教師なしクラスタリングでも試してみようかと思い、自己組織化マップのプログラムを作ってみました。

下記サイト等を参考に色を3次元ベクトルの入力にして試してみました。
http://gaya.jp/spiking_neuron/som.htm

実行結果

50x50の2次元SOMになるんでしょうか。

som_test_001.JPG som_test_002.JPG
      初期状態           10万回更新後

今回入力データもランダムでやっているので色々おかしい気がしますが特に気にしないことにします。
クラスタリングとして使用する場合はどんな感じになるんでしょうかね。
web拍手 by FC2
posted by シンドラー at 15:45 | Comment(2) | TrackBack(0) | Neural Network | このブログの読者になる | 更新情報をチェックする

2010年01月15日

Acrobotのようなもの

ニューラルネットワークの使い道が思いつかなかったので、Acrobotを試してみました。Acrobotは強化学習に向いている気がするのでニューラルネットワークの使い道としては微妙なんじゃないでしょうか。

Box2DのBox形状2つをジョイントで繋いで、下記の設定でAcrobotのようなものをやってみました。

3層ニューラルネットワーク(誤差逆伝播法)
入力4つ:box1の角度、角速度、box2の角度、角速度
中間層:ニューロン40個ほど
出力2つ:box1のトルク、box2のトルク
教師データ:PD制御で計算した値

普通にPD制御の計算できるのにニューラルで学習する意味ってあるんですかね?無さそうですね。

せめてPD制御の係数を学習させたなら意味があった気がするんですが・・・。

実行結果

MMDスレ19の606様のエ○ナモデルを使用させていただいております。



鉄棒の上で逆立ちすることを目標としています。ものすごい腕力と腹筋がないとこんなことできないですよね。

web拍手 by FC2
posted by シンドラー at 01:47 | Comment(0) | TrackBack(0) | Neural Network | このブログの読者になる | 更新情報をチェックする

2010年01月07日

ニューラルネットワークで1変数関数の近似

新年明けましておめでとうございます。
本年もよろしくお願いいたします。

年末年始はニューラルネットワークの勉強をしていました。
一応誤差逆伝搬法の実装をして1変数関数の近似をしてみました。

実行結果



マウスでクリックした点を教師データにしてy=f(x)を近似してます。
入力層、隠れ層、出力層の3層で、隠れ層では奮発して50個のニューロンを使っています。
5個でもほとんど結果変わらないですが。

うまく学習してくれないときはシグモイド関数のゲインや重み修正時の係数εをキーボードで調整してます。
教師データをリセットしても学習した重みや閾値はそのままにしています。

で、これは何に使うんですかね・・・?

次もよくわかりませんがボルツマンマシンの勉強をしますかね。

参考図書:「学習とニューラルネットワーク」
http://www.morikita.co.jp/shoshi/ISBN978-4-627-70291-2.html
web拍手 by FC2
posted by シンドラー at 18:03 | Comment(0) | TrackBack(0) | Neural Network | このブログの読者になる | 更新情報をチェックする