Center CLR de:code振り返り勉強会に行ってきた。
続きを読む
「software_development」カテゴリーアーカイブ
機械学習名古屋 第4回勉強会(ディープラーニングその2)に行ってきた
機械学習名古屋 第4回勉強会(ディープラーニングその2)に行ってきた。
・勉強会の概要
1. 「深層学習」読書会
教本として、「深層学習」の6章を読む。
2. TensorFlow ミニ・ハンズオン
TensorFlowの公式チュートリアルのMNIST For ML Beginnersを少し変えて、
畳み込みニューラルネットワーク(CNN)をTensorFlowで作って解いてみる。
→ ハンズオン資料
機械学習用のTensorFlowというソフトをMac(OS X El Capitan)に入れた
機械学習用のTensorFlowというソフトをMac(OS X 10.11 El Capitan)に入れた。
このあいだUbuntuのノートPCに入れていたのだけど、そのノートPCのOSを入れ替え作業をするので、その間に代わりに使うため今度はMacBook Airに入れることにした。
インストール方法は、公式ページに書いてある。
(TensorFlowのバージョンは、現在0.8。今後バージョンが上がるとインストール手順も変わってしまうので注意。)
→ TensorFlow — Download and Setup
続きを読む
機械学習名古屋 第3回勉強会(ディープラーニングその1)に行ってきた
機械学習名古屋 第3回勉強会(ディープラーニングその1)に行ってきた。
・勉強会の概要
1. 「深層学習」読書会
教本として、「深層学習」の最初から3章までを読む。
2. TensorFlow ミニ・ハンズオン
TensorFlowの公式チュートリアルのMNIST For ML Beginnersを少し変えて、
3層のニューラルネットワークをTensorFlowで作って解いてみる。
→ ハンズオン資料
3. Julia紹介
→ Juliaの紹介
という内容だった。
講師は@antimon2さん。
続きを読む
機械学習用のTensorFlowというソフトをPC(Ubuntu)に入れた
機械学習用のTensorFlowというソフトをPC(Ubuntu)に入れた。
TensorFlowは、Googleが作っていて、Python言語で使う拡張ライブラリとして提供されている。
Windows版Pythonで動く物は提供されていないので、UbuntuのPCにインストールする。
自分のPCのUbuntuのバージョンは64bit版の14.04で、そこに入っているpythonのバージョンは2.7だ。
インストール方法は、公式ページに書いてある。
(TensorFlowのバージョンは、現在0.8。今後バージョンが上がるとインストール手順も変わってしまうので注意。)
→ TensorFlow — Download and Setup
続きを読む
機械学習に関連して、脳の本と人工知能の本を買っている
機械学習に関連して、脳の本と人工知能の本を買っている。
参考書というよりは読み物として。
とりあえず、脳のなかの幽霊を読んだが、かなり面白い。
あとでメモをまとめる。
脳のなかの幽霊 (角川21世紀叢書)(Amazon)
続きを読む
機械学習の勉強用の参考書を購入した
機械学習の勉強用の参考書を購入した。
深層学習という本は、今度参加する勉強会でテキストとして使うというので入手した。
深層学習 (機械学習プロフェッショナルシリーズ)(Amazon)
続きを読む
機械学習の勉強を始める前に
機械学習の勉強を始める前に、自分の昔(30年くらい前)の知識の整理をする。
大学の研究室で、同じ研究室の同級生がニューロを卒業研究で研究していた。
それを少し聞いただけなので、知識としては古いし、正確には分かってないと思う。
まず、ニューロ(ニューロコンピュータ、ニューラルネットワーク)は、脳細胞(ニューロン)の働きを模した素子を多数ネットワーク状に結合して演算する演算器である。
人間の脳のように(?)学習させることにより、学習させたとおりの演算結果を出力するようにトレーニングすることができる。
素子のニューロンは、こんな感じに細胞体本体(soma)とシッポ状の部分(axon)からできている。
→ ニューロン 画像 – Google検索
1つのニューロン素子は、近傍の他の複数のニューロン素子にくっついている。
脳全体で3次元的にニューロン素子が組み合わさってネットワークを形成している。
これを数学的なモデルで表して、コンピュータでシミュレーションする。
続きを読む
LLVM-IR(LLVM中間コード)用コンパイラの改良を考え中
LLVM-IR(LLVM中間コード)用コンパイラの改良を考え中だ。
・C言語で書いているのを、C++で書き直す?
yaccないしbisonを使って作っていので、そのためC言語で書いている。
うまくラッパーとか作ってC++で書き直したらどうだろうか?
既存のそういうラッパーもありそうなので、それを流用すればいいのかもしれない。
うまくオブジェクト/クラスに切り分けて作るにはどうするのかちょっと悩む。
・yacc(bision)だけではなく、lex(flex)を使ってみる?
上記のC++化にも絡んでくる話だが、基本的にはC言語でのコンパイラ開発用に作られたツールなので、C++化しようとすると使いにくい。
・LLVM-IR用コンパイラ以外も統合する?
以前作ったJavaバイトコード出力版のものや、.NET中間言語MSIL(CIL)出力版のものがあり、コードの半分くらいは共通になっている。
統合して、1つのコンパイラで3種類に対応という形にしてしまったほうがいいのかもしれない。
少なくとも、共通部分は整理して分離したほうがよさそうだ。