こんばんは。なんだかんだ言ってたら夏休みも気づいたら終わってました。
てことで、今日は自分が主にプログラミングとか機械学習関連でやったこと、やってきたことをまとめていきたいなと思います。
バイトの業務などは書けることと書けないことがあるので(特に上司から口止めもされていませんが自分の裁量の範囲内で判断した上)悪しからず。
バイト
今行っているバイト先での主な業務はWebページ上に技術的なコンテンツを発信するブログを書いていくことだったのですが、夏休み中は結果的に200時間以上シフトに入る予定もあったので、他の業務もやらせてもらえることに。
午前中はブログ記事を書いて、午後はその他の業務という感じになってたかな。
なんだかんだ言って、夏休み中一番頑張ったことだと思う。
ちょっとどの方面についても1つの形に仕上げることはできなかったが。
Pandasの記事書いてたよ
まずはNumPyの記事の続きとしてPandasの記事の続きを書いてました。
ここがリンク
ページがまだ全然整理されていない状況ですが、まあぼちぼちアクセス数は増えているみたい。
NumPyについての一通りの検索結果では僕の書いた記事が上位に表示されるが、Pandasはなかなかそうはならない。というのも、他に似たような分野を扱っているサイトが存在し、それが結構強い。そのため、アクセス数を伸ばすのに大きな障壁となっている状態。
まあ、地道に記事を書いていきましょうというところだけど、やはりどうしてもモチベがそこまで上がらないのが正直なところ。
webサービスの開発に初めて携わった
午後の時間のほとんどはバイト先で開発中の新しいwebサービスの開発に携わった。webページのデザインとかではなく、ページ上で施された操作をデータベースに反映させたり、データベースから情報を取得してページに渡すといったいAPI関連の実装をずっとしてた。
javascriptは後述の通りUdemyで少し扱ってたものの、それを元に作られたVue.jsをほとんど何の説明もないまま任されたのは割と辛かった。
まあ、1か月もすればさすがにある程度は把握できるようになったけど、最初はマジでよくわからなくて辛かった。
デザインを担当するわけではなかったが、やはりjavascriptとかVue.jsは分かってないとできないことも多かったし、データベース関連はPostgreSQLを使っていたわけだが、それへのアクセスとしてPythonでのsqlalchemyの派生版を使っていたが、最初はそれすらもよく分からなかった。
簡単に言えば放任で色々やってた状況。
色々言っては来たが、自分がやりたかった開発ではあったし、最近はある程度分かってきた部分が多かったので開発が楽しくなってきたころだったが気づいたら夏休み終了。しかも終了直前はほかの優先度が高い案件をやっていたのであまりできてないのが残念だった。
夏休み終わってからまだ1回もシフトに入れていないのでちょっと申し訳ない。
kaggle
もう1つの目玉だったkaggleはバイトに平日の日中時間とられていた+サークルも何だかんだでやっていたで、そこまで満足いくような感じで取り組むことができなかったのが思ったところ。とはいえ、まあある程度はコツコツやれていたのでそれは良かったと思う。
Airbus Ship Detection
コンペティション自体は以下のAirbus Ship Detectionという、衛星映像から船舶の位置を検出するというもの。
Airbus Ship Detection – kaggle
基本的に与えられた訓練データ(正解データも同様に与えられている)もので学習をして、テスト用データを予測して、予測データを提出するというものなのだが、なかなか難しい。
今回のような画像から意味のある領域を抽出するものを画像セグメンテーションというらしいのだが、今回はその中でUNetが主流になっているみたいだったのでそれを使って学習をしてみることに。
自分でも色々試してみたが、1回あたりの学習の実装に時間がかかることとあまり時間をかけられなかったこと、などが影響し大してできなかった。
友人が当初作った記録をいまだに自分が一度も超えられていないのが割と悔しい。
このコンペティション自体は友人もう2人とチームを組んでやっているのだが授業始まってから本格始動した感じ。
夏休み中は思うようにチームとして活動できていなかったので、これから1か月で一気に追い上げたいと考えているところ。
自分も授業終わりの時間とか利用して色々実装していきたいし色々調べておきたい。やはり、直接顔を合わせて話し合いができたのがモチベーションを上げる要因の1つになったのだと思う。
残念ながら、夏休み期間中は一回も顔を合わせることなくSkype上でのみ会議をしていたのでちょっとやりにくさはあった。
これから機械学習についてしっかりと勉強したいと考えているところなのでこのコンペティションはやれることをやり切りたい所存。
forest cover type
これが本格的に動き出す前は森林のクラス分けをするものをやっていたがちょこっと実装してみて終了してしまった。
これについては2つほど記事を書いているのでもしかしたら続きを書くかもしれない。
コンペティション自体が終わってしまったので、優秀な手法をひたすら真似してみようかなと考えているところ。
インターン
はい、実は来年の4月(5月説も浮上)から1年間休学し、機械学習エンジニアとしてインターンに行くことにしました。
たまたまインターンの合同面接会という名のものに顔を出してきたのだが、そこに参加していた企業で機械学習を強みにしているところがあったので、機械学習エンジニアのインターンを募集していないのかと質問してみたらそのまま個別面接に進むことができた。
この合同面接会はまず企業ごとに説明があって、そのあとに4回の時間に分けて合同面接を行う。合同面接では参加している企業に面接を受けたい学生が集まり面接をするというもの。大体1回あたり7~8人くらいで回していた。
そこで企業から指名があった人は次の個別面接に進めるというものだった。
自分は結局4社回ったうちの後ほど決まったインターン先の企業のみから指名が入った。
その後、個別面接でWeb系のエンジニアではなくやはり機械学習エンジニアとしてやりたいことを伝えただけで15分の個別面接終了。
担当の人の話しぶりからもweb系のエンジニアは未経験者歓迎ではあったが機械学習エンジニアは実務経験あることが条件ではあったのでかなり厳しかなと踏んでいた。
だが、後日先方から連絡があり改めて面接してもらえることに。
友人たちとkaggleやってることとか辺りが引っ掛かってくれたのかな。ただ、機械学習の実務経験自体は無かったので本当にうれしかった。
その後先方のオフィスに赴いてすごいエンジニアの方と面接をした。面接というか1対1での機械学習に関する知識の確認みたいなものだった。いわゆるディープラーニングで特に画像認識の分野でしかあまり勉強していなかったのでそれがモロにバレた。が、そのあたりについては比較的しっかり答えられたとは思う。割と新しい形式の面接(?)だったので新鮮だったが、こちらとしてもわかりやすいレクチャーを受けることができたのでかなり助かった。
そしたらなんとインターン内定のお知らせが来たので心の中でガッツポーズ。あまり真剣に企業を探してこなかったが、これから半年後にすごい人たちの下で機械学習について色々できると考えると今からでもワクワクしてくる。
時の運って大切だなと感じた。まあ、あまり期待してなくてもこうやってインターンの合同説明会に行くという行動を起こした結果なのかな。ちなみに、合同説明会(合同面接会)に参加する企業は事前に知らされなかった。
機械学習はなんだかんだで実装ができてしまえばある程度は何とかなるのだが、やはりその裏にある理論を知っておくことはやはり重要みたいなのでこの半年は機械学習関連の勉強も頑張りたい。
とりあえず面接していただいた方からscikit-learnという機械学習のアルゴリズムを提供しているPythonのモジュールがあるのだが、その公式ドキュメントに記載されている手法を一通り勉強しておくようにとのこと。
1週間に1つくらいで進められたらいいなぁとか考えてる。
Udemy
Webサービス系の講座をとっていた。以下のリンクから飛べる。
フルスタック・Webエンジニア講座
最初はhtmlとcssから始まりBootstrap、次はjavascript、jQuery、PHP、MySQLとWebページ開発に必要な一通りの道具に触れたあとに様々なAPIを使ってみているところまでは来た。
残念ながら、全部は終わっていないが基礎的な部分は一通り終わらせることができた。
一通り触れたのは良かったが、やはりまだ身に着けるという段階まで至っていないのが正直なところなのでこのWordPressのサイトをいじることで色々スキルアップさせていきたいなとか考えているが今使っているデザインが有料で購入できてしまったこともあり、無理に自分で全部やる必要にないんじゃね?とか思ってしまっている自分もいるからやるかどうかはちょっと怪しいかも。
自分でテーマを作ってちょくちょくやっていくのは結構ありではあるので時間を見つけて少しずつやっていけたらなと思う。(この場合は何か本買ってやろうかな)
まあ、何個か講座を取ろうと思っていたのに結果的に1つ目の講座すら全部終えることできずに夏休み終えてしまったのはちょっとショック。
まとめ
そんなこんなで僕の2か月間は終了。
総じていえば、頑張ったと思う。
なんだかんだでサークルも行けていたので旅行とかは行けていないが他の部分はかなり充実していた気がする。
授業が始まってしまった今のほうが少しだらけているかもしれないと感じるレベル。まあとりあえず頑張った。
こうして見ると、自分は色々なことに手を出しているなとつくづく感じてしまうが自分の強みであり弱みでもある部分なのでうまく活かしていきたい。
1年間の休学については親の理解も一応得ることができたので一安心。
ちなみにインターンでもらえる給与はまだわかっていない。
そろそろ聞かなきゃ。