新着記事

thumbnail

高校三年生のときに研究してました

高校三年時の研究成果 詳しくは,AboutMeを見てほしいですが,中学生からもともとAIに興味がありました. 高校三年時に進級した際に本格的にAIを学ぼうと思い,ディープラーニングの基礎であるニューラルネットワークを勉強,研究したところ,ニューラルネットワークの高速化手法を開発し,SSH研究発表(文部科学省主催)という高校生が大学教授の前で自らの研究発表を行う会に選ばれ,発表を行いました. ちなみに,SSHとはSuper Science Highschoolのことで母校はこれの指定を受けておりました. 単独研究で発表まで至ったのは母校で私がはじめてです. これは,在校生徒と招待校あわせ,1000人の前で登壇しました. なお,これらの研究成果は文部科学省に提出しています.(疑義がある方は私の母校へ問い合わせるか,文部科学省に問い合わせてください.) 基礎研究と応用研究 基礎研究は,ニューラルネットワークの高速化です. これは主に一般にいう,プルーニングです. 応用研究は,ニューラルネットワークを応用した歌声から曲を検索するシステムです. フーリエ変換を行い,音階を求め,それをデータとしたシステムです. 今ならもっといいアーキテクチャが思い浮かびます. 研究のスライドはYoutubeに公開しています. 基礎研究編です. 応用研究編です. 余談 この記事を書くには今更すぎますが(執筆時は登壇から3年が経過),インターン面接などでこの件について深堀されるので,記事にまとめました.

thumbnail

Cyber Agentのインターンに参加した話(体験編)

CyberAgentのインターンに参加した話. こんにちは. 大学2年 伊地知(いぢち)です. 先日 CyberAgentの3weeks インターン (サ

thumbnail

【調査中】ArcFaceなどのメトリックラーニング

ArcFaceって ArcFaceは顔認証を行えるメトリックラーニングの構造のこと. ArcFaceは入力されたデータに対して,一人の画像に対するユニークな特徴ベクトルを算出する. 例えばA,B,C,… という人物の画像が一人に対して,複数毎あったとする. Aの画像が入力されたときArcFaceはY_Aのベクトルを算出するよう学習する. 一方,Bの画像が入力されたときもY_Bを算出する. これにより,未知の人物の画像が入力されたときも,人物ごとにユニークなベクトルを算出することによって, ベクトル間のCos類似度を求めることにより,同一人物かを判定することが可能になる. 元論文のarXiv インストール 論文の著者が実装と学習済みの重みを公開している. Mxnetというフレームワークだが,ArcFaceを使うだけなら何も気にすることはない. 実行には $ pip3 install mxnet==1.6.0 が必要である. ただし,GPU環境の場合,cuda==10.2をインストールし, $ pip3 install mxnet-cu102==1.6.0 を実行する. あとは, $ pip3 install -U insightface でインストールは完了. 試す 基本的には,チュートリアルを参考にライブラリを読み解いていく. 自分でも,少し試したので,jupyter notebookを貼っておく. 不明点 論文や解説記事を読んでArcFaceの学習方法は理解したものの,肝心の顔認証データセットの目的変数がわからない.具体的には,ユニークなIDをどうやって,つけているのか.論文中に各データセットの示された人物の数は一定でないから. [追記] 論文をよく見ると,参考文献として, [32] Y. Sun, Y. Chen, X. Wang, and X. Tang. Deep learning face representation by joint identification-verification. In NIPS, 2014. が載っていた. これによるとDeepIDを用いて特徴ベクトルを決定するとある. DeepIDについては,解説記事を発見した. 参考記事 これを用いてDeepIDをつけているのか納得.なお,参考記事はDeepID 1について解説されているが,参考文献はDeepID2について説明されている. おおむねは同じだが,違いは,顔のパーツ位置(face landmark)による畳み込み前の整列や特徴ベクトルを200次元まで拡張した,ネットワークを深くしたなどの違いがある.(詳しく論文見てないけど) 結論 参考文献を読もう.

3

タグ一覧