Fusicってなんしようと?What is Fusic doing?

2018/09/14 インターンレポート「長期インターンシップ エンジニアコース」#志村レポ

2018年1月19日(金)~2018年8月30日(木)の期間、

Fusicでは、エンジニアを目指す学生を対象に、長期インターンシッププログラムを開催しました。


上記プログラムには、九州大学大学院 システム情報科学府の

志村 朋人さんにご参加いただきました。


以下、参加した志村さんのレポートです。


================================================


こんにちは!

九州大学大学院 システム情報科学府 修士2年の志村 朋人(写真左)です。

この度、私は株式会社Fusicにて8ヶ月に渡る長期インターンシップに参加させていただきました。





インターンシップ中に携わったことは、Pythonを用いたAIサービスの開発・検証です。
現在、研究室でNN(Neural Network)を扱っており、実践的な経験を積みたいと考え
このインターンシップに参加しました。

はじめにNNの学習から始まり、Keras * を用いて簡単な画像認識識別装置を作成しました。
ネットワークとしては、初歩的なCNN(Convolution Neural Network)の作成を行いました。
*Keras: Python の深層学習ライブラリ




また、上記の学習を元にPyCon Kyushu 2018での登壇や、Qiitaへの記事投稿などを行いました。

CNN実装で、NNとKerasの使い方を学び、既存のAI サービスを使った実現性の検証から、
最適なネットワークを見つけるために様々なNNの構築・精度検証などを行いました。

今回は、その中でも二桁手書き数字認識システムの開発について紹介したいと思います。

まず問題として、簡単なCNNでは8割程度の精度しか出ない問題がありました。
そこで、チューターの濱野さんから提案していただいた、マルチクラスタリングと
強力な画像認識のNNである、Small VGG Netを用いてさらなる認識精度向上を目指しました。

一番苦労したのはバグ取りです。
モデルを学習させようとするとerrorが出力され、ぜんぜん学習ができない問題が発生しました。
このerrorが論理エラー(面倒くさいバグ)だったために、バグ取りは難航を極めました。




チューターの濱野さんに泣きつきながらも、なんどもコードを読み返し
トライアンドエラーを繰り返すことで、ようやくバグを退治することができました。
その結果、認識精度は9割を超え、高い精度を出すことができました!

<成果発表会の様子>





今回のインターンシップでは、AIサービス開発に携わることができ、NNについてのさらなる知識や、
トライアンドエラーの大切さを改めて感じることができました。

他にも、AIを使った簡単なアプリケーション実装なども行い、
認識で終わりではなく、サービスの一部として利用する使い方を学びました。
また、社員さんたちの情報感度の高さや、貪欲な学習意欲には驚かされました。
私ももっと貪欲に頑張っていこうと感じた、そんな8ヶ月間でした。
この経験を生かし、さらなる飛躍を遂げていきます!
短い間でしたが、Fusic のみなさん、本当にありがとうございました。