.reboot

底辺エンジニアがDeepLearningを学びながら、何かを作るブログです

【DeepLearning】DeepLearningで川柳を - その4

f:id:limit6577:20181002070311j:plain 転移学習について勉強する必要がある様です。

日本語サイトでは、Qiitaに記事が有るのでそちらを参考に川柳を作るプロセスとして検討してみるとします

そういえば、年の初めに今年のトレンドキーワードに学習済みモデルというのが挙げられていました。その時は「ほ〜ん」としか思っていなかったのですが、転移学習を知ってその意味がわかりました。

川柳を考える人は川柳で日本語を勉強したわけではないですよね。

当たり前のことですが、母語で有る日本語特有の詩で有る川柳ですが、多くの日本語を知っているから川柳を考えられるのであって、川柳を嗜む人が川柳で日本語を勉強してる訳ではありません。 川柳で覚えた言葉もあるでしょうが、それは別にして。

でも、DeepLearningの基礎レベルでは学習モデルが予測モデルと一致させるので、沢山の川柳で学習させて川柳を作る事になります。 そうすると学習モデルの用意が大変です。

語彙を広げる為に相当数の川柳を用意しなくてはいけなくなります。 また、新しい言葉では川柳を作る事が出来ません。 なので人間と同様に日本語を覚える学習をベースに川柳のルールを覚える様にしたいです。 そこでWord2Vecを利用する方法は無いか調査していていたら見つけたのが、転移学習です。

転移学習の具体的な実装

転移学習に関しては、どうやら深淵を覗き込んでしまった様です。

そもそも、具体的な方法がまだ明確になっておらず、簡単にフレームワークにレイヤーを追加すれば解決する様な話では無いらしいのです。

でももしかしたら今のKerasでも出来るかもしれないですしTensorFlowなら出来るかもしれない。場合によってはKerasは独自レイヤーを作れたので、理論が明確になればオリジナルのレイヤーを作らざる得ないかもしれないです。

なので、手始めに転移学習のDomain Adaptionから始めてみようと思います。

Domain Adaption

www.mi.t.u-tokyo.ac.jp

Domain Adaptionの説明は東京大学大学院の方で詳しく記載されているのでそちらが参考になります。

私の場合はSource DomainがWord2VecになってTargetDomainが川柳AIになります。

少ない川柳の学習データで日本語の語彙を全て使って新しい川柳を作る様な仕組みを考えています。

引用元

 

qiita.com

towardsdatascience.com