ニートの言葉

元ニートがやってみたこと・その過程で学んだこと・考えたこと・技術メモあたりを主に書いています。情報革命が起きた後に訪れるであろう「一億総ニート時代」の生き方を考え中です。

人工知能にコウメ太夫さんのツイートを学習させてみた

f:id:takuya0411:20211031073953p:plain

どうもこんにちは、最近何かを生成する系のAIで遊ぶことにハマってます、あんどう(@t_andou)です。

5年以上前の話ですが、人工知能に哲学書を読ませて哲学的な文章を書いてもらいました。

blog.takuya-andou.com

今回はその時よりも高度な「GPT-2」というものを使って、コウメ太夫さんのツイートを学習させてみたいと思います。

なぜコウメ太夫さんなのか

コウメ太夫さんと言えば、毎日とても面白いギャグツイートすることで有名なかたです。

ですが、ごく稀に難解すぎてAIがツイートしてると疑われ、記事になることもあります。*1

AIが考えたと言われているツイート

これを見て思いました。

コウメ太夫さんのツイートを学習させたらそれらしく生成できるのでは?

と、いうことで学習させてみました。学習のやり方については最後に載せています。

まずは結果から。

結果

本人のツイートと比較していきます。

本人のツイート

ピ~タンをすぐ飛ばして斜めになるメスザル…?これ…本当にAIが書いてるのでは…?

では、次にAIの書いたものを見てみましょう。

AIが書いたもの

比較のため冒頭の『修学旅行で~~かと思ったら~、』の一文はそのまま指定し、続きを書いてもらいます。

修学旅行で勢いで買いがちなもの1位は{土地}かと思ったら~

{ハエ取り巻き歩きガイド}でした~。
チクショー!!

ああ〜意味の分からなさがそれっぽい。そして、最後が「チクショー!!」で終わっているので、学習出来ていることが分かりますね。

他のツイートも見てみましょう。

本人のツイート

流石コウメ先生です。僕には理解できませんでした。

AIのツイート

同じ文章からいくつか書いてもらいました。

1000倍の速さで成長してると思ったら~、
全身の毛穴から汗が出てきて~、

私の脳みそがソフトだった~

チクショー!!
私の脳みそなかった~。

チクショー!

超高速!超チクショー!!
頭脳 5000倍でした~。

チクショー!!
コアが3000000000000倍でした~。

チクショー!!
私の脳みそ滅菌してました~。

チクショー!!
私の脳みそ100000000倍でした~。

チクショー!!
私の人生は0よチクショー!!でした~。

チクショー!!
我々の想像を超えてました~。

チクショー!!
地球は10000倍のスピードで移動してました~。

チクショー!!

やたらと脳みそのことに言及してるのが気持ち悪いですね。

しかし、『1000倍の速さで成長』という言葉に対応して10000倍などと書いてるのは凄いです。

その他のツイート

これはAIの方が分かりやすい気がします。

これはご本人の方が分かりやすいですね。

オリジナルツイート

その他にオリジナルのツイートも見てみましょう。

すごくそれっぽい。

学習の仕方

こちらの記事を参考にさせていただきました。

note.com

終わりに

面白いかどうかはともかく、良い感じに学習できてそうです。

GPT-2と言えばだいぶ重いイメージがあったのですが、ファインチューニングであれば10分~15分程度である程度まで学習できました。

データさえ揃えば気軽に歌詞を学習させたり短歌を学習させたりとかも出来そうです。

日本語版GPT-2を公開してくださったtanreinamaさんには感謝です。

 

Twitterアカウントを開設しました → コウメAI太夫

顔写真はAIで生成したコウメ太夫さんに似てる架空の女性です。

人工知能に『桃太郎』を描いてもらった

f:id:takuya0411:20211025045716p:plain

 

どうもこんにちは、あんどう(@t_andou)です。

前回、AIに絵本を描いてもらいました。

blog.takuya-andou.com

絵だけじゃなく物語やBGMの作曲、読み上げなど全てをAIに任せた結果、物語の意味が全く分からなくなったので、もう少し意味がわかる…というか、大体の日本人なら知ってるであろう物語『桃太郎』を描いてもらいました。


www.youtube.com

サムネは良い感じに作れたのではないかと思います。

AIに絵本を描いてもらった

f:id:takuya0411:20211008040930p:plain

どうもこんにちは、あんどう(@t_andou)です。

最近『何かを生成するAI』に興味があり、触ってみました。

しかし、ただ「試してみた」だけでは面白みが無いので、何か作品を作りたいと考え、絵本を描いてもらうことにしました。

 

まずは完成作品をご覧ください。

youtu.be

 

違和感がすごいですね。

 

お気づきになった方も多いかとは思いますが、実はこちらの作品

絵だけじゃなく、物語、読み上げ音声、BGM、全てがAIによる生成物です。

 

完成度はまだ低いものの、あと数年もすれば違和感の無い作品が作れるようになりそうな予感がしますね。

使用した技術

全てを把握しているわけではないため自分用のメモ程度になりますが、使った技術を記載しておきます。

絵にはVQGANとCLIPという技術を使っています。

これは凄くて、描いて欲しいものを文章で伝えると描いてくれます。
しかも、どんな画風で描いて欲しいかまで理解してくれるのはやばいです。

本作品でははらぺこあおむしで有名なエリック・カールさんの画風でお願いしました。

ちなみに、今回はお遊び程度の試行、且つ絵本という分野なため深く追及せずに「よく分からないけどなんとなくそれっぽい」くらいの絵の品質で終わらせていますが、お題の指定次第ではよりちゃんとしたものが出来上がります。

次に挙げるのは割とよく出来たものの一例ですが、誰かが描いたものとして出されたらAIによる生成物だと見抜く自信は僕には無いです。

ハロウィンの夜

f:id:takuya0411:20211009085423p:plain

雲の上の山・リアルに

f:id:takuya0411:20211009085230j:plain

他に試したのはこんな感じです

物語

文章の生成にはGPT-2を使いました。

これは最初の文章だけを指定すると残りは全て書いてくれるというものになります。

今回指定した書き出しは
『あることろに小さな男の子が歩いてました。その後ろに犬も歩いてました。その後ろには』
です。これ以降は全てGPT-2が書いた文章になります。

 

理想的には「絵本風の物語」を出したいのですが、そこまでの指定方法がわからないため何度か生成をした上でこれなら使えるかも というものを選びました。

 

当初はrinna株式会社さんが公開されているモデルを利用しようと思ったのですが、試したところ会話風やwebの記事風になった印象を受けたため、tanreinamaさんのモデルを使わせていただきました。

読み上げ

@hiho_karutaさんが作られているVOICE VOX(四国めたん)を利用しました。

文章を入れると中品質の読み上げをしてくれます。

チューニングをすればそれらしく聞こえますが、時間がかかるため今回は話すスピードを遅くしただけになります。

詳細は理解できていないため、公式サイトGithubをご覧ください。

BGM

Performance RNNというものを使いました。

こちらも詳細は理解できていないため紹介だけに留めておきます。

こちらの本で知りました。

終わりに

「あと数年もすれば違和感の無い作品が作れるようになりそうな予感がする」と先述しましたが、実はもう(僕の目では)見分けがつかないレベルの分野もあります。

次の写真をご覧ください。これらは全てAIによって描かれたものになります。

f:id:takuya0411:20211009075850p:plain

f:id:takuya0411:20211009080051p:plain

f:id:takuya0411:20211009080058p:plain

これまで「何かを生成するAI」の技術はほとんど追っていなかったのですが、すごいところまで来てますね。

もうそろそろAI写真家やAI画家が活躍する世の中になりそうです。(知らないだけで既にそうなっているのかも)

参考

github.com

物語

github.com

読み上げ

voicevox.hiroshiba.jp

BGM

magenta.tensorflow.org

最後の写真

github.com

バックテスト&自動運用などリリースした機能の紹介と今年の開発予定

明けましておめでとうございます、あんどう(@t_andou)です。

以前『AIを使ってボートレースで資産運用してみたら稼げた』という旨の記事を書いたところ、「ユーザーがこの予想に乗っかれないなら意味が無いじゃん」という反応がありました。

元々この記事は「みずはのめの予想の精度が高く、稼げる可能性があること」を示したくて書いたのですが、この予想に乗っかり、同じように運用したいと考えるのは当然のことですね。

しかし、僕らが運用している買い目に全員が乗っかってしまうとオッズが下がってしまい全員で損をしてしまう可能性があります。

そこでしばらく悩んでいたのですが、みずはのめ上でユーザーの皆様それぞれが回収率100%を超えるような好条件をバックテストで見つけ、その条件で自動運用できるようになれば、プログラミングが出来なくても僕らと同じような運用を出来るのでは?
という結論に至り、作成しました。 

今回はそのバックテスト→自動運用機能を初めとする幾つかの昨日のご紹介です。

1.バックテスト→自動運用まで

1-1.バックテストの設定 

まずはバックテストの設定です。

例えば
・浜名湖の12Rだけ、123を100円購入した場合
・SGのレースだけ、1256のBOXを購入した場合
・オッズが50以上の券でみずはのめの予想確率が0.1(=10%)以上の場合
などと言った買い方の検証ができます。

期間は過去3ヶ月で、検証した条件を保存できます。

f:id:takuya0411:20210122184150p:plain
(説明や言葉が分かりづらいだろうとは感じているのですが良い表現が思いつきません。もしも、より伝わりやすい表現がありましたらフィードバックください。)

今回のリリースではレース場やグレード、組番、みずはのめの確率の範囲など、指定できる条件は少ないです。もしもこの機能が好評であれば、他にも「天候」や「波の高さ」などシンプルな条件から「オッズの変動率」などと言った複雑なものなども追加していこうかと考えています。
欲しい条件などご要望がありましたら「みずはのめのフォーラム」までお知らせください。

1-2.フォワードテスト

次にフォワードテストです。

バックテストで好条件を見つけても、実際に運用するのはちょっと怖いという方もいらっしゃるかと思います。そんな方のために、フォワードテストも実施できるようにしています。

↑の画像は僕が設定したバックテストの条件で一週間ほどフォワードテストをした結果になります。
約475万ほどプラスになっています。回収率は146%でした。(フォワードテストなどと言わずに運用しておけば良かった)

1-3.自動運用

最後に自動運用です。

こちらは月額会員であれば別料金は不要で利用可能です。(使用状況によっては料金設定を変更する可能性があります)

ここで「実稼働させる」にチェックを入れることで、バックテストで保存しておいた条件に一致する舟券を自動で購入することができるようになります。

是非良い条件を探して回収率100%超えを目指してください。

2.その他の修正点・リリースした機能

今回のリリースでいくつか修正した点をご紹介しておきます。

2-1.乗っかり購入時の金額調整

「ある予想屋さんの予想に乗っかりたいけれど、購入金額が高くてそのままだと乗っかれない」というご意見がありましたので、乗っかり購入時に予算に合わせて金額を変更できる機能を作成しました。

マイページ→舟券購入/乗っかり購入/自動入金の設定 から設定できます。 

1点あたり100円で購入したり、1レースあたりの予算を設定してオッズに応じて配分することができるようになりました。

この機能の使い方などの詳細についてはこちらをご覧ください。

2-2.ランキング画面の見やすさ向上

ランキング画面をスクロールすると日付が隠れてしまい、いつのランキングなのかが分かりづらいというご意見がありましたので、スクロールに合わせてくっついて動くようにしました。

Image from Gyazo

2-3.予想の投稿回数を1レースあたり1人1回に制限

これまでは1レースに対して何度でも予想を投稿できたのですが、みんなの予想ページの視認性が悪くなるのと、悪意を持った予想屋さんが居た場合に乗っかり購入で得られるポイントを不正に稼ぐ可能性があったため、1レースに対して予想を投稿できるのは1人1回までに制限しました。

3.バックテストの予想販売機能

まだ全員にはリリースしていない機能のご紹介と予想屋さんの募集です。

バックテストで保存しておいた条件に一致した券が出てきた場合、それをご自身の予想として販売できる機能を作りました。

予想屋になりたいけれどまだ良い予想を出すことが出来ない方などにはぴったりかと思います。僕のようにボートレースはよく分かっていなくても回収率をそこそこ高めの予想を出せるため、予想を購入する方々にとってもプラスになると思っています。

ただし、こちらの機能は全員に開放してしまうと、似た予想が大量に出てくる可能性があるため、ご利用を希望の方は下記のフォームより申請してください。

主にフォロワーの多い方、みずはのめの宣伝にご協力いただける方を優先して招待しようと考えています。

forms.gle

2021年の開発予定 

最後に今年の開発方針を書きます。

引き続きボートレースAIとしての精度向上を目指しつつ、今年は『予想屋さんがより販売しやすく、予想を購入する方がより安心して購入しやすい場所を作ること』を目指すことに注力したいと考えています。

そのために、ブログやSNSのような機能を追加していこうと思っています。

・ブログのような機能
・月額定額でその人の予想やブログを見れるようになるマガジン機能
・金額を指定しない買い目予想
・いいね機能
・投げ銭機能(予想が当たった場合に予想屋さんへのお礼として使うチップのようなもの)
などなど

そのほかに欲しい機能がありましたらユーザーフォーラムまでご連絡ください。

forum.mizuhanome.net

本年もみずはのめをどうぞよろしくお願いいたします。

AIでボートレースをやったら2ヶ月で200万稼げた話

どうもこんにちはあんどう(@t_andou)です。 

僕はボートレース予想のAI「みずはのめ」というサービスを作っているのですが、ご覧いただいた方からよく言われるのが

「けっこう当たるっぽいけど、本当にこれで勝てるの?」
「そんなに当たるんなら予想なんて売らないで自分で買ったら良いのに」
という内容です。当然のご意見ですね。

開発を始めたころは僕も勝てるかどうかは半信半疑でした。
そのため、ちょっとでも当たりやすい予想を提供することで「回収率50%の人が70%になるお手伝いになれば」というスタンスで情報を提供していました。

ですが、ボートレースの予想AIがどんどん出てきており、みずはのめが提供している情報は本当に価値があるのかの判断が難しくなっていると思います。

そこで、みずはのめで提供している情報で本当に勝てるのかを検証するため、約2ヶ月間実際に運用してみました。

前提

・資金は100万円スタート
・みずはのめで提供している「直前予想 」を使う
・何を買うかは締め切り1分前に判断する
・舟券の購入はみずはのめのAPIを使って自動行う
・みずはのめの「みんなの予想」に買い目の投稿も行う
・参加するレースは6~7割程度
・1日に購入する金額はその日の開始時の資金の20~30%程度
・的中率は7~8%、回収率は110%程度を想定

結果

タイトルにも書きましたが約2ヶ月で100万→300万を突破しました

追記:11/9時点で100万→400万を突破しました

資金の推移はこんな感じです。多少の増減を繰り返しつつも、割と良い感じに右肩上がりになっており、日々の収支も概ね想定内の動きをしています。

f:id:takuya0411:20201031214758p:plain

週次の成績はこちらで公開してます。

twitter.com

 

一応、公式サイトのスクリーンショットも貼っておきます。

9月分

f:id:takuya0411:20201031221347p:plain

9月収支

10月分

f:id:takuya0411:20201101205342p:plain

10月収支

的中した高配当舟券

AIと言えば硬い舟券を狙いに行くのかと思っていましたが、意外と高配当なものも買いに行っているようです。393倍に500円はなかなか冒険してます。

f:id:takuya0411:20201101205514p:plain

的中した高配当一覧

買い目の公開場所

v2.mizuhanome.net

買い目はこちらで公開しています。

f:id:takuya0411:20201103221151p:plain

直近一年の収支(8月以前はシミュレーション)

また、このプロフィールに載せている直近1年の収支ですが、実際の運用開始(8月末)までにいくつかシミュレーションをしていたので大きくマイナスになっていましたが、この2ヶ月で急激に回復しています。(実運用開始のタイミングで戦略を変えました)

終わりに

250万を突破したと思ったら数日負け続けて200万を切ったり、1日で50万勝ったと思ったら1日で40万負けたりとなかなか忙しない日々でしたが、無事にみずはのめの予想を使って勝つことが出来ています。

これからはAIによる予想だけではなく、ボートレースをより楽しむためのコンテンツ開発を続けていきたいと思っていますので、今後ともみずはのめをよろしくお願いいたします。

宣伝

みずはのめで出来ることの一覧表
f:id:takuya0411:20201103174126p:plain

みずはのめではチャットをしながらレースのライブを見れたり、AIによる前日予想などを無料で見ることができます。

月額980円(税別)のプランに入ることで、より精度の高い「直前予想」や舟券の購入、他の予想屋さんの予想へ乗っかって購入する機能などをが使えるようになりますので、是非まずは無料会員登録をしてご利用ください。

使いにくい点などのフィードバックはこちらの問い合わせフォームからいただけると幸いです。

docs.google.com

防音室を作る その1 調査

こんにちは、あんどう(@t_andou)です。

僕は実家に居た時は部屋でギターを引いたり歌ったりしていたのですが、一人暮らしを始めてからは近所迷惑にならないように大きな音を出さないように静かに暮らしていました。

そんな生活を始めて10年以上経ったいま、偶然見かけたこのツイート

防音室って自作できるんだという衝撃を受けると同時に、気づいたら作り方を調べ始めていました。

ということで防音室を作ります
※DIYすらやったことのない素人が試行錯誤しつつ自分用のメモを兼ねて書いているため、現時点では綺麗にまとまった情報ではないことをご了承ください。無事最後まで完成しましたら纏めます。

今回は防音室の自作方法を調査した記録です。

自作した記録まとめ

まずは先人たちの足跡を調べました。
調べてみると自作をしている人は結構いらっしゃるんですね。

先ほどのツイートのかた

一連の流れがnoteに纏められていて概要を掴むのに良かったです。

note.com

↑のかたが参考にしたというサイト

こちらも記事が順に書かれていて分かりやすいです。

blog.livedoor.jp

工程図までアップしてくださっているので非常に参考になります。http://blog.livedoor.jp/britishtree/pdf/%E9%98%B2%E9%9F%B3%E5%AE%A4_%E5%B7%A5%E7%A8%8B%E5%9B%B3.pdf

2.5万で自作したという人

防音性能は分かりませんが安く作りたい場合は参考になります。

www.tamusguitar.com

振動対策

床の下に水道用のゴムホースを敷くことで電子ドラムを叩く振動も軽減できるらしいです。今回はドラムを設置する予定は無いので見送りましたが面白い。

jisakudebouon.web.fc2.com

クローゼット?を防音室にしているパターン

www.nicovideo.jp

だんぼっちを加工しているパターン 1

だんぼっちは段ボールでできた簡易防音室ですが防音性能はイマイチらしく、加工することで防音室として使えるようになるとのこと。

www.nicovideo.jp

だんぼっちを加工しているパターン 2

遮音材として鉛シートを使っている珍しい事例

総額は20万を超えているけれど防音性能は良さそう。

www.nicovideo.jp

制作風景を載せている人 1

www.youtube.com

制作風景を載せている人 2

www.youtube.com

2畳くらいのものを作っている人

図面やパーツ一覧など僕が求めているものを完璧に記載してくれていました

hibitetsu.com

まとめ

すごくたくさんの事例が見つかりました。

知識ゼロからのスタートなので「どんなビスを使うと良い」みたいな情報から記載されているのは非常に助かります。

公開していただきありがとうございます。

次の記事では自分が作りたいものをまとめていきます。

買い占め防止システムを作れないか

どうもこんにちはあんどう(@t_andou)です

新型コロナの流行によりマスクが入手困難ですね。

僕はほとんど外出しないので手元にまだ少し残っていますが、知り合いはフリマアプリを使って親のために1万円で買っていると言っていて驚きました。

さらにこの数日はデマが原因であるとは言え、トイレットペーパーも店頭から無くなり困っている人も多いと思います。

今後、流通が混乱して他の複数の商品において同じことが起きる可能性がありそうです。

さらに、コロナの流行を防ぐために人混みは避けるべきなのに毎朝スーパーに並んでるという人も少なくないように見えます。これでは感染がさらに拡大していきます。

買い占め防止のためのシステムを作れないか

さて本題です。

買い占めを防ぎ、必要分だけ多くの人に渡るためにITエンジニアの僕に何かできることは無いかを考えました。

まだまだ思いつきの曖昧なアイディアですし、僕は流通や製造業界に関して知識が無いため、「既にある」とか「現実的じゃない」「これを使えば実現できそう」などご意見いただけるとありがたいです。

解決策のアイディア

すごくざっくりしてますがこんな感じです

1.店員が入荷予定を登録

2.入荷予定を知ることが出来て予約できる

3.店舗で受け取る

機能の案

具体的にはこんな機能が必要かなと考えてます。

  • 店員が自店舗の情報を登録(店名・住所など)

  • 商品情報と入荷予定(いつどれくらい)を登録

  • 購入側はユーザー登録(1人1アカウントにするため、電話番号をキーにするのが良さそう)

  • 予約をして割り当てる

  • 店舗をまたがっても同じカテゴリ(マスク・トイレットペーパーなど)の商品は購入数に制限をつける

想定される課題

具体的な実装案についてはまだまだ固まってないため、機能面における課題は無視するとして

一番大きな課題は店員さんの手間が増えることだと思っています。(入荷予定の入力や予約した人かどうかの確認が必要となるので)

ですので、店舗側にメリットを考えないといけないです。

今回の騒動が収まった後でも、お客さんに知らせて買いに来てもらう目的で使えるように設計してたら良いかも。

最後に

小売店のかたのアイディアをいただきたいです。
最初は入荷予定を知らせる機能だけでも無駄に並ぶ人が減るので良いかもしれないですね。

また、途中で力尽きるかもしれませんがこちらでオープンに開発していきます。

https://github.com/takuya-andou/Prevent-buy-out/wiki