オモンパカリスト

深層学習、計算論的神経科学に興味あります

プログラミングって楽しい。Hello, World!

こんにちは。

非常に濃ゆい一週間でした。

僕は語彙がアレなんで全てを書き記すのは骨が折れるので

簡潔に報告したいと思います。

 

スタートアップの進捗

 なかなか不安定な集団だと思います。

開発経験がないようなものなので見積もりがかなり甘いです。

僕が一任されたのは金沢を扱うキュレーションメディア。

UIやUXをマネジメント兼任の代表がやってくれるとのことで、

ただし開発に対しての知識不足のため想定している開発期間と理想のPV数、

いろんな数字が僕には厳しく思っております。

でもそのほうが燃えます。ビジネスとしてやっていくので責任は重大だし、

できない仕事は容易く首を縦に振ってはいけないのは重々承知ですがガムシャラになれるいい機会です。成長のために参加させてくれた代表には感謝でいっぱいです。

 

 今は仕様が定まっていないのですが単純にAPIを叩くだけでは金沢市民が満足する情報量が取得できない。となればクローラーで強力にしたい。

というわけで、初心者。クローラーを実装すべく勉強をします。

Amazon.co.jp: Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例: るびきち, 佐々木 拓郎: 本

とても良書のようです。事実、ゼロからの説明で丁寧でわかりやすいです。

はじめに正規表現などの文字列処理について学習しました。

わからないことがあったらパーフェクトRubyでしっかり理解を努めます。

www.amazon.co.jp

ただしパーフェクトRubyは1~3章までは結構初心者を突き放している気がします。

ぶっちゃけ自分もキツいのでそのへんは「はじめてのRuby」のほうが易しいのかな?

 

 広告をつけるサイトを制作するということで、安易な開発は行えません。

とくにこのクローラーを扱うにはかなり法律面をしっかり理解しておく必要があります。というか、個人の利用ではクローラーは礼儀ある使い方をすれば問題なさそうですが、Webサービスに組み込むとなると・・・いけるのかな?

ここはかなり重要なことなのでしっかり理解しておく必要があると思います。

 

 正直、まじでキツい無謀な企画な気がしますが、死力を尽くします。

 

自主課題研究

 うちの大学は4年生から研究室に配属されます。ですが3年後期に研究室で簡単な学習をする自主課題研究なるものがあります。

自主課題、っていってもそこの研究室から課題をもらいそれに半期取り組む感じです。

 

 コースのみんなで研究室を抽選で選びます。僕は行きたい研究室がありました。

自主課題研究はもちろん、4年生になって研究室もそこにするつもりです。

定員5名ですが第一希望は8人。

くじを引くと、よかった、当選でした。

雰囲気のいい研究室に案内されました。きさくな先生や先輩方とは気があいそうです。

以前アドバイスをいただいた同じ高専編入のM2の先輩、

ベーシックのインターンで一緒になったM1の先輩もそこの所属です。運命です。

二つの課題を提示され、TA(M1の先輩二人)のどちらかの下で学習していくみたいです。

  • Hadoopで分散処理システム
  • ディープラーニングの学習

おそらく今僕がすぐに必要としている知識は前者でしょう。

キュレーションメディアの想定PV数がもし現実となれば、ありがたいことですがそんなユーザー数さばける知識がどこにもございません。

サーバー本番環境で実行したこともありません。(あるけど遠い過去)

ですのでここは仕事のために前者一択…

ではなく、私的で申し訳ないのですがずっとしたい研究分野、そのためにこの研究室にきたといっても過言ではない、それが後者のディープラーニング(深層学習)でした。

僕は後ろめたさは少しあるものの後者を希望。

他に希望した仲間が2人。

TAの方から出された記念すべき最初の宿題は

  • Pythonを勉強してくること
  • ディープラーニングで何をやりたいか

Python、習得したいと思いつつなかなか手が進まなかった。

でもこうやってやらなきゃいかなくなった。怠け者の僕にとってはそれが丁度いいんです。ガムシャラになれます。

TAと先生の会話で「音声認識とかはどうかな、あーでもあれ時系列だから難しいか」

と聞こえ、やりたいことが一つ増えました。

その前にディープラーニングのことについて述べさせていただくと、

ディープラーニングが近年注目を浴びるきっかけは画像認識の分野によるものです。

ただ多次元配列の画像認識とは異なる時系列の音声認識となるとまた理論が難しくなるとのこと(?)、きっとやりたいなんて言うと「いや三年早いよ」なんて言われると思いますが、興味わいたので手を出してみたい。

クローラーはとても面白い技術です。早く知っておきたかった。

今回習得するクローラー技術はデータ収集や解析のかかせないこの研究に絶対に活かせます。それだけでやりたいことがポンポンでてきます。

その概要については後々。

 

今はプログラミングがとても楽しい

 僕はストイックとは真逆な怠け者です。頑張れるのは楽しさを見出せた時。

今はプログラミングが楽しくて仕方ないです。

本当遅ばせながら仮想環境をはじめて構築して、ターミナル(bash)でタブを二つ開いて片方にvagrantssh(centOS6.7)、もう片方にローカル環境。

centOSでコマンドを叩きまくってviでRubyを書く。

viの編集コマンドを覚えてきてるのが嬉しい。

ローカル環境でsubl .を叩いてSublimeText2を起動したりしてスクリプト書いたり。

なんだかカッコイイことやってる気がして猛烈にいい気分です。

 今は上記のクローラー参考書によってRubyを書いています。

Rubyの素晴らしさが手に取るようにわかる。開発者の哲学・思想が感じられる。

シェルスクリプトを触っていると色々な人間の努力の結晶を味わえる。

GUIにはない、昔からの知識の積み重ねを知る度に心が動かされる。

誰かに話したい、それくらい素晴らしい世界に足を突っ込んでいて、

僕は幸せです。

Hello, World!

楽しみます。