アフィリエイト広告を利用しています

広告

posted by fanblog

2016年05月05日

ホップフィールドネットワーク

仕事とは関係ないが、
5年後、10年後を考えた時に、
人工知能がありとあらゆるところで使われ、
今では想像もつかない世界になっているかと思うと
ワクワクしてくる。

タレント兼エンジニアの池澤あやかさんも
ディープラーニングの勉強を始めたらしい。
>Hatena Blog learning ikeay net 文系エンジニアだけどAIを勉強してみる
http://learning.ikeay.net/entry/2016/04/25/090016

ディープラーニングとは
脳の神経細胞を行列による数式で模したニューラルネットワークというものを
何個も多層に重ねた構造にしたもので、
勉強用の学習データをたくさん覚えさせる(機械学習させる)と
人間をはるかに超える精度で画像認識とかしてくれるというもの。

そう、自分も池澤あやかさん同様、ディープラーニングを勉強したい。
といっても、ディープラーニングを実用レベルで使うには、
世界最高レベルの高価なマシンで何日もかかる行列計算をしなければいけない。
だから、今はお遊びレベルのことしかできないのかもしれない。
ただ、仕組みを知っておきたいのだ。

ということで、
まずはディープラーニングの前に、
ニューラルネットワークを勉強したい。
で、2016年3月7日に
ちょうどいい本が発売された。

「はじめての人工知能 Excelで体験しながら学ぶAI」淺井登 著 (翔泳社)

image.jpeg



自分はエクセルが得意。
そしてエクセルを使うのが好き。
プログラミングも好きだが、
エクセルで組めるから(手順をきちんと理解しているので)
同じ計算をプログラミングもできる、と思っている。
自分のことはさておき、

この「はじめての人工知能」は
他の本と違ってわかりやすい。

まだニューラルネットワークの記載部分の72ページ目までしか読んでいないが、
エクセルの例題ファイルがダウンロードできて、
まずは(仕組みをわからないまま)書いてある手順通りに
@番から順に打ち込んだり、ボタンを押したりしていくと、
いつの間にか多少歪んだアルファベットのAのドット絵から
活字のAが想起される。

で、その例題を2つ行った後、
理論的な行列演算の説明が分かりやすく書いてある。

人工知能の他の本(理論的なことを書いてある本)は
この本と違って、初心者に読む勇気をなくさせるような書き方になっている。

今日気付いたが、
他の本は「偏微分」が出てくるのだ。

人工知能に興味はあるが、人工知能が専門じゃない他の分野の人や
文系の人には偏微分の記号「デル」が出てきた段階で拒絶反応である。
読む気が失せる。

その点、この「はじめての人工知能 Excelで体験しながら学ぶAI」には
今のところ偏微分は出てきていない。
だから自分でも読むことができた。(まだ72ページ目だが)
ざっとパラパラ最後までページをさら見したが
偏微分は出てこなそう。

72頁目までで勉強したのは
「パーセプトロン」と「ホップフィールドネットワーク」という
2種類のニューラルネットワーク。

ニューラルネットワークには
層構造になっていて上下層方向へ方向性のある「階層構造型」と
層方向への方向性がなく、1平面で完結する「相互結合型」があって、
「パーセプトロン」は「階層構造型」
「ホップフィールドネットワーク」は「相互結合型」に該当する。

例題のエクセルをいじった感じでは、
パーセプトロンの方が、「重みづけ配列」のサイズが小さかったせいか
精度が悪く感じた。
「ホップフィールドネットワーク」は重みづけ配列がでかかったせいか、
けっこうな精度でアルファベットのAが想起された。(気分がよかった)

ここまでが71ページ目までの内容。
その後で問題が起きる。

71ページの終わりから72ページ目にかけて、
ホップフィールドネットワークを用いた練習問題みたいな感じで
「8クイーン問題」を「ホップフィールドネットワーク」で解こう、
というもの。
「8クイーン問題」とは
8×8の盤面にチェスの駒のクイーンを8個、
移動可能範囲が重ならないように
配置する組合せ最適化問題だ。
クイーンは将棋で言う「飛車」と「角」を合わせた
動きをする。
最近、人工知能に囲碁のプロ棋士が負けた件があったので、
こういうゲームのような問題をニューラルネットワークで解く練習問題は
やる気が出てくる。

「ホップフィールドネットワーク」では、
エネルギー関数Eというものを定義して、
エネルギー関数Eの値が極小値を取るまで収束計算をする。
このEが大事なのに、
「8クイーン問題」のページには

E=(-1/2)e、e=f(横に1駒)+g(縦に1駒)+h(斜めに高々1駒)として
ノードの値を合計
としか書いてない。

わかりやすい本なのだが、ここだけが分からない。
何度考えても分からない。
どう式にすればいいんだ。

Googleに「8クイーン」と「ホップフィールドネットワーク」と入れて
検索してみるが、Eの定式化部分が
書いてあるページは見当たらない。
(Eを上手く自分が収束させたい値に
もっていくよう定式化するところが
大事なんだけどなあ)

ただ、Googleの検索結果の頭には
CINIIの論文検索結果がヒットしている。

>ホップフィールドネットワークの学習によるNクイーン問題の一解法
>唐 政、熊谷 寛夫、曹 其萍
>http://ci.nii.ac.jp/naid/110003313723

CINIIとは国立情報学研究所の略。
ありとあらゆる論文が読めるサイトだ。
ただ、自分が大学の頃はタダで見ていたし、会社入って1、2年目もタダで
論文が見れた。
しかし、ある年からいつの間にか
論文のPDFを見るのが
有料になった。
(ついでに日本建築学会の論文データベースもある年から有料になった。)
ただ、それを悪いとは思わない。
研究者や学会の立場や経営のことを
考えたら、有料と言われても仕方ない
と思っている。
なので建築学会の会員にもこないだ再び入った。
(金を払っても見たい情報、、
の時があるから)

で、話は飛んだが
自分は決意した。
時は金なり。
生きた情報も金なりだ。
価値ある情報は金で買うのだ。

CINIIの個人登録の年会費2160円と
富山大学のこの論文購入1134円の支払いを決めた!
で、iPhoneでサクサクっと購入。
論文のPDFをダウンロードした。


あー、こういう意味だったのか。

本に書いてあった関数「f(横に1駒)」とは
f=Σi=1〜N(Σj=1〜N Xi,j -1)^2
こんな感じなのだろう。
あるi行のノードの値Xi,jを全て足したものΣj=1〜N Xi,j
から1を引いてエネルギーなので2乗すると、
最小値はゼロとなる。
これを全ての行で足す。
そうすると各行に1個ずつしかない状態が
最小のエネルギーになる。

これとおんなじ感じの事を
g(縦に1駒)や(斜めに高々1駒)もやる。
(ただ、論文に書いてあった斜めの項は少し式が特殊だったなあ。)

エネルギーEの式以外には
苦手な偏微分が出ているが、
幸いEの式にはΣしか出てないので
自分にもなんとなく読めた。

まあ、自分の友達とかが知ったら
きっと無駄遣いだと思われるんだろうな。

たた、今いいとこなんだよな。
このままディープラーニングまで
楽しく勉強し続けれる気がするんだよな。
なんとなく。
【このカテゴリーの最新記事】
posted by iyoder at 18:51 | Comment(0) | TrackBack(0) | 人工知能
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/5031404
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
最新記事
<< 2021年01月 >>
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
カテゴリーアーカイブ
ファン
プロフィール
最新コメント
×

この広告は30日以上新しい記事の更新がないブログに表示されております。