忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


かんたん!制限付きボルツマンマシン コントラスティブ・ダイバージェンス(Contrastive Divergence)法[Deep Learningシリーズ]

コントラスティブ・ダイバージェンス法

制限付きボルツマンマシン(Restricted Boltzmann Machine : RBM)は覚えたパターンを後で思い出す能力を持ったニューラルネットワークです。
あるパターンを覚え、後でそれに似たパターンを入力してやると、最初に教えたパターンを思い出すことができます。
制限付きボルツマンマシンはDeep Learningするネットワークの一部に使われています。
ですからDeep Learningしようと思ったら、制限付きボルツマンマシンを学んで損はないでしょう。



制限付きボルツマンマシンの学習には、コントラスティブ・ダイバージェンス(Contrastive Divergence : CD)という方法が有名なようです。
ですので、今回はこのコントラスティブ・ダイバージェンス法について解説します。

拍手[15回]

PR

かんたん!制限付きボルツマンマシン実装 (C#) バイナリ(0と1)バージョン [Deep Learningシリーズ]

Implementing Restricted Boltzmann Machine(RBM) in C#

YUSUKE SUGOMORIさんのjavaコードやその他のコードいろいろを参考にしてC#で制限付きボルツマンマシンを実装してみました。
私好みに書き換えていくとだいぶプログラムの行数が無駄に膨れ上がってしまいましたが、まあよしとしましょう。


拍手[3回]


Visual Studio 2012でTypeScriptがビルドできなくなる問題

TypeScriptのプロジェクトである時突然ビルドできなくなりました。

Cannot resolve referenced file: 'myFile.ts'.
Could not find file: '~~\myFile.ts'.

といった調子です。
ファイルがない?
何を言っているんでしょう?
myFile.tsならここにあるのに!
(エクスプローラーでちゃんと確認もしました)

プロジェクトを一旦削除したりして、一時間くらい停滞してわかりました。
コメントを英語にしましょう!
コメントに日本語を使ってはいけません!

…どうして?
ここによるとエンコーディングの問題のようですね。

なお、そのままだとどうも気持ち悪いので、メモ帳でmyFile.tsを開いてUTF-8で保存しなおしました。
そうすると日本語コメントでもビルドできるようになります。

拍手[1回]


[Deep Learningシリーズ] かんたんHopfieldネットワーク

Deep Learning

最近Deep Learningというものが話題になっています。
Deep Learningはコンピュータの学習手法の一つです。
一年ほど前(2012年)GoogleがコンピュータにたくさんのYoutube画像を見せネコの顔を自発的に学ばせたということで有名ですね。
人工知能学会誌には現在ディープラーニングの解説が連載中です。
Deep Learningはコンピュータ関係で現在最もホットな話題の一つといえるでしょう。

というわけでこのブログでもDeep Learningを取り上げてみたいと思います。
しかしいきなりDeep Learningの全容に迫るのは難しいのでまずは簡単な話から始めましょう。
今回はHopfield(ホップフィールド)ネットワークです。

拍手[10回]


Open Dynamics EngineでTriMeshがすり抜ける問題

TriMeshを有効にする

Open Dynamics Engine(略してODE)という物理エンジンがあります。
それを使って2つの物体を衝突させようとしていた時のことです。

スカッ

何度やっても物体がすり抜けます。
なんという事でしょう!

この物体、TriMeshというものを使っていました。
TriMeshとはたくさんの三角形ポリゴンからなる物体です。
なお、TriMeshの他に物体の種類はBoxやSphere、Planeなどがあります。

色々試して一日以上の時間を費やした結果、あることがわかりました。
はい、TriMeshが有効になっていなかったのです。

有効にするためには次のようにプリプロセッサ定義を入れてやります。

dTRIMESH_ENABLED
dTRIMESH_OPCODE

どうやらdTRIMESH_OPCODEではなく

dTRIMESH_GIMPACT

というのもあるようですが、よくわからなかったのでdTRIMESH_OPCODEの方だけ有効にしました。

拍手[0回]