養鮭場

豚の逆は鮭

GANGAN行こうぜ

この記事はTCU-CTRL場外乱闘 Advent Calendar 2018の19日目の記事です.

前日はぱらな君が担当してくれています.

para7note.hatenablog.com

担当を知るために担当が好きな本を読む行動力,文庫本を遠ざけてた人種なので素直に敬服しました.自分も写真とベースとラクロスを始められるのだろうか.

 

目次

 

投稿背景 

近年,画像分類だけでなく様々な分野でDeep Learningが優秀な成績を修めており注目が集まっている.Deep Learningとは,ここから先は自分の目で確かめてほしい.
昨今よっDL!な空気で色んなものが手をつけられ始めててもうDLは焼け野原である.辛い.
GoogleNvidiaが指パッチンするだけでどれだけの研究が塵芥と化すのか,もうやめてくれ.

研究として扱ってるとヒーヒー言うが,じゃあ実際使われてるかと探すとそんな例がない.見つけてないだけかもしれない.たまにオタク向けな変態技術投稿を見て冷や汗をかくが,arXivで論文見つけたときほどではない.
ではどんなことが今可能となっているのか,今回は論文を読んでて内容が触れやすいものを紹介していきます.この後少し書きますが,前提としてGenerative Adversarial Nets(GAN)の知識が必要です.
どれも仕組みはざっくばらんに紹介しますので,気になったら調べてみてください.
論文は全部英語なので最悪論文に掲載されている図だけ見ても面白いです。
21日目に投稿のはいじあさん,添削お願いします.

 

Generative Adversarial Nets (GAN)

論文はこちら

[1406.2661] Generative Adversarial Networks

 

いっぱい資料があれば,それを習って似た感じのものが作れそうっという感じのモデル.資料だけで正解を教える講師は必要ないので,ただ資料を集めるだけでいい.詳しく書くと確率分布のお話になるので割愛.
これまでのNerual Networkのモデルと違うのは2つのネットワーク,GeneratorとDiscriminatorを使うところです.例として多く上げられるのは偽札業者(Generator)と警察(Discriminator)のお話.偽札業者は本物と見分けがつかないような偽札を作りたい,警察は偽札と本物を正しく見分けたい.この2つを競わせ合うことで,どちらの精度もあげていくのがみそです.

今やGANが色々な分野に使われてきてます.論文の発表数も300本/月とかエグいことになってたのでGANを扱う研究したいひとは覚悟しておきましょう.今月はじめから投稿日までarXivだけでも90本は出てました.

 

CartoonGAN

論文はこちら

CartoonGAN:Generative Adversarial Networks for Photo Cartoonization

論文を紹介してるQiitaはこちら

qiita.com

 

 

実写写真から漫画風の絵に変えるモデル.
論文では宮﨑駿,新海誠風と色々な例があります.漫画風と言っても例であるのはアニメタッチ.写真を絵画タッチに変換するモデルはありましたが,それは写実的なものが成果を出していました.しかしアニメタッチにはどれも上手く変換できていませんでした.その理由として

  • いわゆる二次元絵はエッジが鮮明(線画)
  • 色合いが滑らか(グラデーションや塗りつぶし)
  • 物体の抽象化

がありました.そこで3つの工夫があります.

 

1つはDiscriminatorに判別させる画像の種類です.
Generatorの変換画像にエッジを際立たせるため,わざと訓練データであるアニメタッチの画像をぼかします.ぼかすことでエッジが無くなった画像を偽物と識別させることで,Discriminatorが本物と識別するものにはエッジがあるのだとGeneratorに学習させてるようです.

 

2つ目にVGGを使った損失関数があります.
写真から絵を起こしたとしても,その意味合いは変わりません.林檎を模写してもその画がさすのは林檎だということです.この意味合いを保つためにVGGを使います.
VGGは画像分類で優れた結果を出すだけでなく,そのアーキテクチャが簡単なもので扱いやすい点あります.また画像分類だけでなく画像特徴量を抽出するのにも優れているため特徴量抽出器としても用途があります.この特徴量抽出器として変換前の写真画像と,変換後の画像からVGGを通して出力された特徴量で画像同士の意味合いが変わってないかを調べます.

 

3つ目にGeneratorの初期化があります.
GANは局所解に容易にはまるため,学習が不安定です.Mode Collapseと呼ばれる問題もあります.そこで学習の早期収束と局所解にはまるのを防ぐために,初期の学習はGeneratorだけで先程のVGGを使った損失関数のみで行います.この初期段階をはさむおかげでGenerator内で画像のencode,decodeが上手くなされ後のアニメタッチへの変換を効率よく学習していきます.

 

これら3つが大きくアニメタッチへの変換に貢献しています.ほかにもL1, L2正則化のこととか論文で書かれてますが割愛.まだ人物からの変換は上手くいかないそうなのでどうなるかが待ち遠しいです.変換が上手くいっただけでなく,従来の画風変換モデルよりメモリ消費量を抑えられ尚且学習時間も早いので院の研究が一つ消えました.研究無いよぉ.

 

WaveCycleGAN

論文はこちら

[1809.10288] WaveCycleGAN: Synthetic-to-natural speech waveform conversion using cycle-consistent adversarial networks

 デモはこちらから

デモページ

 

合成音声(ボイスロイドとか)を自然な発話音声に変換するモデル.

今まで音声を扱うモデルは波形から周波数特性だしてメルケプストラム導出してF0は別個で~っと遠回りしてようやくネットワークに入れてました.そのため元の波形から色々情報が抜け落ちてるため品質劣化がどうして起きてました.

しかしWaveCycleGANは波形をそのままネットワークにぶちこみます.音声波形といった時系列データを扱うのにLSTMといったモデルがありましたが,学習にかなり時間もメモリも喰います.
これを解決するために提案された,時系列データを畳み込み演算でそのまま扱えるGated Linear Unit(GLU)アーキテクチャに組み込まれてます.
また教師データ(ここだと合成音声から自然音声へと直されたものが)無しで変換を学習するモデルのCycleGANといったものが使われており雑多に合成音声と自然音声を集めるだけで学習可能です.

ボイスロイド動画投稿者でこれを再現して使って見てほしい.githubにソース上げて.

この著者が他にも声質変換とか手につけててまたも終わりが見えた.おやすみ

 

AI技術により超高精度な歌声合成 

ベタ打ちの歌詞付き楽譜を用意するだけで歌声が生成できるモデル(多分).
まだ論文は発表されてませんがつい先日公開された紹介とデモがこちら.

www.techno-speech.com

 

歌い方や声質といった癖を従来より再現しているらしい.らしい,っというのはデモを聞いた感じそういうのが前に出てるのはわかるが学習に使ったデータがはたして「IA」や「さとうささら」として作られた歌なのか,元のVoice Sourceである方の歌唱なのか不明瞭なのでなんとも言えない.ただ音の繋ぎを自力でやっている動画と比べるとかなり自然な歌声なのでボカロ曲投稿者が見たらどんな気持ちになるのだろうか.
2019年3月に開催される日本音響学会2019年春季研究発表会で発表されるので,論文が公開されたらまたここに書いていきたい.GANだと嬉しい.

 

終わりに 

本当はオタク長文記事を書こうかと思ったけど投稿日までに書き切れなさそうなのでゼミで読んでたものとかの紹介をしました.催事最後挨拶好侍になれ.上坂すみれさん,結名美月さん誕生日おめでとうございます.よくラジオである僕も誕生日なんですメールで祝われたい.鮭だけどチキンなのでメールとか出せないし認知されるの怖い.
ただでさえ研究が炎上してるのに書いてていいのかという気持ちはあるが実験が終わらないので許してほしい.DLは一回にかかる実験時間がものによっては一週間とかいくのでコードのチェックはちゃんとしましょう.GPUがn枚欲しい人生だった.

 

次はマキア君です.まってま~す.

 

クリスマスにピザを食べたかった

この記事はTCU-CTRL場外乱闘 Advent Calendar 2017最終日の記事です。

 この記事には一部食事中には見ない方がいい内容があります。特にピザとパスタが好きな方は見ないことをオススメします。また、この記事の内容を実践して発生したいかなることに対して、筆者は責任を負いません。予めご了承ください。

 

 

エンゲル係数とパスタ 

皆さんはエンゲル係数というものを知っているでしょうか。家計における食費の割合を示すもので、日本での平均は約25%だそうです。学生だとちょっと下がると思われるので20%ほどでしょうか。

ではこれを半分の10%にするとイベントに行けたりする費用が増えます。よく食費節約の食材としてもやしが紹介されます、私もずっとお世話になっています。ただ、もやしは炭水化物ではないため腹持ちがあまり良くないです。食費を節約しすぎるとまともな食事がとれず人間性が損なわれるため、中々バランスをとるのが難しいです。

そんなバランスを保つのに良い食材として、パスタがあります。お米だと5kgでだいたい1800円ほどしますが、業務用スーパーで買えば5kgのパスタが900円ほどです。これは素晴らしい、パスタ万歳。

 

パスタも小麦

 長期休暇のさい、500gのものを頼んだはずが5000gのパスタが家に来ました。

 最初はこんな量食べれるかと困りましたが、ライブBDで一気に財布が薄くなったため 手のひら返しで感謝しながら食べてきました。

しかし毎日毎日もやしとパスタだと流石に食事に楽しみが無くなります。他の麺が食べたいし米も食べたい、何か良い料理の仕方は無いものか。そんな時、天啓を得ました。

 

パスタって原材料小麦だし

こねれば小麦をこねたのと同じでは?

 

これは凄い、上手く行けば色々な料理に転用できる発想です。

なので実際に転用できるか、作りやすい小麦こねてつくるピザを作ってみました。

 

従来のパスタでピザ

パスタでピザを作るという発想はそれほど奇抜ではありません。[パスタ ピザ レシピ]で検索をするとゴロゴロ出てきます。しかしどれも見た目は麺を固めてピザ生地の代用をしています。実際に焼きそばの麺を固めて作ったものを食べたことがありますが、麺の食感が残っていてとてもピザの食感では無かったです。これをピザと呼ぶのはピザに対して失礼です。なので今回つくるものは麺の見た目も食感も無い、ピザといえるようなものをパスタで目指します。

 

小麦転用の問題点

何回かパスタでピザの生地を作ってきた上で壁がありました。

水分

茹で上がったパスタを細かく切ってすりつぶせば簡単にできるだろうと思っていました。しかしこのパスタ、潰れない。潰そうとしても逃げていって全くだまにならない。これは水分がありすぎると滑るのが原因でした。なので潰してこねる際は電子レンジなどで水分を飛ばしきってからこねましょう。

 

生地の厚さ

いざ生地が上手くこねれて広げ、焼いたとしても食感がピザでなければ元も子もないです。生地が厚いままで焼いたそれは、芋餅でした。本来ピザやパンの生地は小麦とイースト菌を水と混ぜ発酵させることで柔らかいふわっとした生地ができます。イースト菌が無くても小麦と水だけで発酵してもちっとした生地になります。ですが既に茹でたパスタでは発酵させることもできないため、もちゃっとした生地になります。この触感を改善するために、生地は極薄にします。餃子の皮で作るピザのように薄くすればパリッとした生地のピザができるでしょう。

 

パスタピザ実践

 問題点の解決を踏まえた上で実際に作ってみます。作り方は以下のとおりです。

  • 茹でたパスタを電子レンジで温めて水分をとばす
  • ハサミなどで細かく刻む
  • 冷めないうちにこねる
  • 全体的にまとまりが出来たら薄く伸ばす
  • 具を載せて焼く

ではやっていきましょう。

今回の材料はこちらです。

 

f:id:fum1n0:20171224195129j:plain

シンプルにマルゲリータを作ります。ピザに肉も無いとか、前はチーズも無いとかピザなのかと言われましたが試作を重ねてる今でもこんなものに色々材料使うのは勿体無いですよ。

 

f:id:fum1n0:20171224193031j:plain

 

電子レンジで温めて水分をとばしたパスタ(乾麺で50gほど)です。少ないと思っても茹でると増えるので少なめでいきましょう、失敗すると悲惨です。

このパスタをカットしてこねていきます。カットしてたら冷めたのでまた温めます。水分を飛ばしすぎてすこしカリッとなってしまいましたけど、まぁ問題ないでしょう。

 

f:id:fum1n0:20171224193336j:plain

 

あっつい!!!!

 

 冷めるとこねてもまとまらいので熱いうちがいいですが、何も考えずにこねようとすると手のひらを火傷するので気をつけてください。裸で料理して乳首に油はねるぐらいやばいです。

 

根気よくこねていきます。根性です

f:id:fum1n0:20171224193828j:plain

 

 挫けそう。今回のは何故か上手くまとまらないですね・・・上手くいくとこうなります。

 

f:id:fum1n0:20171224194009j:plain

 

上手くいくと近くで見ても小麦をこねたものと変わらないですね。

とりあえず伸ばせばどうにかなって・・・

 

f:id:fum1n0:20171224194322j:plain

 

これは、だめだ。ダメみたいですね

麺がもうまとまりをえてないです。さっきの上手くいったのを伸ばすとちゃんと生地になるんですよ

 

f:id:fum1n0:20171224194958j:plain

 

今回は応急処置としてチーズで生地同士を繋げます。表裏チーズでつなげるのでフライパン焼いていきます。

 

f:id:fum1n0:20171224195848j:plain

 

溶けてきたらひっくり返します

 

f:id:fum1n0:20171224200109j:plain

 

かき揚げっぽいですね。とりあえずこれにまたチーズをかけて

つなぎは完成にし、ケチャップをかけてさらにチーズをのせて焼いて完成です。

 

f:id:fum1n0:20171224200416j:plain

f:id:fum1n0:20171224200439j:plain

f:id:fum1n0:20171224200458j:plain

f:id:fum1n0:20171224200520j:plain

 

完成したのがこちら

 

f:id:fum1n0:20171224200629j:plain

 

これは、なんでしょうね。ピザと言い張りたい。

 

 

実食と反省

完成したものを食べてみました。

正直これは、チーズスナック菓子ピザ風味ですね。オーブンではなくフライパンで焼くことで、つなぎのチーズとパスタの生地はバリボリとした感じになったのがスナック菓子のような感触になったのでしょう。もっと上手くこねれて薄くできればパリッとした生地に近づきますね。また小麦の風味も揚げパスタと同じように出て香り良いです。チーズでだましだましになっているとはいえ、今までで一番食べれるピザになりました。

 

今回の一番の失敗は、水分を飛ばしすぎて乾麺のようになったことです。これが麺がつぶれない要因とスナック菓子のような食感につながったと考えられます。麺から水分を抜きすぎず、それでいて潰しやすいほどには水分をとってこねましょう。

 

終わりに

パスタしか家に無く、小麦を買うのが無理な状況でピザが食べたくなった場合頭の片隅にでもこの調理方法があれば試してみてください。

わかったこととして、パスタは焼いて食べるのもありということでした。揚げパスタみたいですね。あとチーズすごい。

 

 

 

クリスマスには炒飯と餃子を食べました。

 

adventar.org

追記

ちゃんとしたピザも作れます

f:id:fum1n0:20171225005325j:plain