Hello, my name is pornanime.

夏休みなのでニューラルネットワークの勉強をした

お久しぶりです。AIが流行ってますね。AI、AI、猫も杓子もAI。ボヤボヤしてると後ろからバッサリだ。

私の普段の仕事は地理情報の可視化、というか具体的に言うとLeafletを拡張して独自のレイヤを作ったりみたいなことをやっているのですが、オフィスに(たまに)行くとAIが何だGPTがどうだという話になっており、もうそろそろAIから逃げられない情勢になってきました。

ということで、去年あたりから知人のフバさん(人の名前です)が推薦していた本「深層学習」でぼちぼちニューラルネットワークの勉強をしていました。

↑これがフバさんです。異常なシャツを着ていますが彼は機械学習のエキスパートです。 *1


↑ちなみにこれは私です。

まあそれはさておき

実は学生時代に講義でNNやバックプロパゲーションを教わった筈なんですが、よく分からないまま終わってしまったんですよね。確かExcelでやらされたんですよ。当時だってRubyやPythonぐらいあったと思うんですが、プログラミング言語を使わない方が学生に優しいとでも思ったんでしょうか。
そんな事情で宿題が残っていたような状況になっていたので、このお盆に復習も兼ねて自分でNNを実装してみました。


Blobcat NN

これがPure javascriptのニューラルネットワーク、Blobcat NNです。

パラメータを調整して ▶︎ ボタンを押すと学習がスタートします(よく分からなければ初期状態でも大丈夫です)
学習が終わったら【Test】タブに移動して数字をマウスで書くと、NNで文字認識をします。

結果に自信が無いときはちょっと小声になります

自信が無いというのは具体的には、第二位のクラスのスコアが第一位(判定結果)スコアの0.6倍以上ある場合、平たく言うと第一位のスコアが突出していない場合としています。
ところで、初期状態だと数字を書く位置がちょっと横にずれただけで認識できなくなります。

じゃあ、元データを横にずらしたものを学習すればいいんじゃない?という安直なアイデアが出てきますが、これはAugmentation(データ拡張/水増し)という正当なテクニックらしいです。「Augment」のチェックボックスをオンにするとBlobcat NNでもデータ拡張が有効になります。ただし、当然学習が難しく(収束が遅く)なります。

なかなか学習が収束しないとBlobcatが苦悶の表情を浮かべますので、パラメータを変えてあげてください。今のところ以下の項目をいじれます。

  • データ拡張の有無
  • 活性化関数(中間レイヤのみ)
  • 学習率
  • モメンタム
  • 学習終了のLoss閾値

実用性は全くありません(※これはディープラーニングではなく80年代からある古典的なNNです)が、NN の本に書いてあるトピックをマウスをポチポチするだけで体感できるので、高校生や学部生あたりへのデモとしては使えるかもしれません。
今後はディープラーニングにも手を出してみようか、多少最適化してみようか、とか考えていますが、GPUを使ったりまではしないと思います。そういう目的のものではないので。

ところで皆さんさっきから気になっていることがあると思います。

Blob(cat)とは何か

ここからが大事なところなので、AIに興味がない方も是非読んで帰ってください。


かつて、Google+(グーグルプラス)というSNSがありました。2011年、検索では王者ながらSNSではぱっとしなかったGoogleが起死回生の一矢として放った製品です。一言で言えばGoogle版Facebook。
あのGoogleが作ったSNS。どんなもんかなー、とGoogle+を時々覗いていた我々の前に、彼(ら)はある日突然現れました。


なんだお前は。そして混乱する我々をよそに平然とこう言い放ちます。

セントパトリックデーおめでとう!

彼の名はBlob。Androidの絵文字のために、Googleが日本のデザイン会社に依頼して作成したキャラクターです。Google+では、スマートフォンのアプリにのみ上の画像を投稿する機能がありました(最終的にPCに実装されたかどうかはもう忘れました)
「セントパトリックデーおめでとう!」というのはアプリに入っていた定型文だったのか、とにかく聖パトリックの祝日になるとBlobの画像とともにそのメッセージが流れてきました。

聞いたことのない祝日。PCからはアクセスできない謎の機能。彼のミステリアスさは次第に我々を魅了し、いつしか「きなこもち」と呼ばれ親しまれることになりました。

ところがその後Androidの絵文字は一般的なデザインに変更され、Google+はわずか8年で終了し、彼は棲家を失います。

しかしGoogleがBlob(を含むEmojiフォント)をApacheライセンスで公開したことで、マストドンやMisskeyの絵文字として再度活躍することになり、猫耳をつけた派生キャラクターであるBlobcatが誕生しました。

無数のBlobcatが作られていますが、左端のソファーに横たわっているものが特にお気に入りで、NNのデモにも登板願ったというわけです。
私はMisskeyではなくMastodonを使っているので英語圏と同じBlobcatと呼んでいるのですが、日本語圏では「にゃんぷっぷー」と呼ばれることが多いそうなので、こちらで検索した方が情報が多いかもしれません。

Good blob life!

追記

シャツがよろしくないではとご指摘をいただいたので写真を追加しました

追記2

あまり争いはしたくないのですが人権侵害呼ばわりまでされては看過できないので……

『夏休みなのでニューラルネットワークの勉強をした - ポルノアニメ』へのコメント

ありがとうございます!!!ちょうど、はてブ用のプロフ画像探してたんです!!!寝込んでた親が生き返りました!!!/他人の写真を無断で使用するのは肖像権侵害、水原氏へのイジメは人権侵害です。やめた方が良いですよ。

2024/08/31 07:21
b.hatena.ne.jp

まず、このシャツは私が作ったものではありません。下のサイトで買ったものです。
Ippei Mizuhara Team Ippei T-Shirt | Allbluetees.com

紹介文には「水原一平氏の素晴らしい通訳の仕事を応援しましょう」とあり、攻撃の意図がないことが分かります。
あなたは我々が純粋に水原一平氏のファンである可能性を無視しており、加害者であると決めつけていませんか? それこそ人権侵害ではないでしょうか。そして、下のような暴言を吐くような人が他人に道徳を説けるとは思えません。

イケダハヤト、ずっと半笑いで刺殺事件を語る - 今日も得る物なしZ

この書き手の人が一番クズだと思う

2018/06/26 19:45
b.hatena.ne.jp

*1: ご本人のコメント https://x.com/fuba/status/1828812187348947079

広告を出した

Amazon.com: Taco : PRINCESS FROM THE MOON ( NEKOTAKO US SNES Cartridge Version ): Video Games
↑めでたく、北米向け(SNES仕様版)ねこたこが出たのですが……日本と比べると売れ行きが微妙。うーん、売り上げは気にしないつもりでしたが、諸経費引いて赤字ではさすがにCUBIC STYLEさんに合わせる顔がありません。
国内の売れ行きを考えればまあ売り方次第だろう、ということで。Facebookで広告を打ってみることに。

広告というと大金が飛び交うイメージがありますが、Facebookの場合は数百円からで始められます。というわけでこんな広告を作ってみました。

箱はCGですがAdobe CCに入っているDimensionというソフトで簡単に作れます。このソフト、簡単なのはいいんですが割り切りすぎていてモデリングができません。汎用のモデル(箱とか)にテクスチャを貼るだけです。ということでカセットの方はコンビニのスキャナで取り込んできて2Dで合成しました。ただし、床の反射を出すために3Dの方にもダミーの物体を置いてあります。
箱だけだと何の広告かよく分からないと思うので、どちらかというとカセットが大事です。2021年にSNESのカセットが出てきたら何事かと思って二度見するでしょ。

ではバナーを登録して配信……

f:id:gyuque:20210417221629p:plain

おい。
Oculusの件でも思いましたがFacebookの場合、ユーザーが新しいことをしようとした時の追加認証を「制限・凍結」で代用しているフシがありますね。もう殿様だから心象とか考えないんでしょうか。
とりあえず言われたとおりに身分証を送って次の日。なんか突然制限が解除されて広告の配信が始まりました。メール等は一切なし。だから心象とかそういうのを……

ともあれ配信に成功しました。こんな感じで出ます。
f:id:gyuque:20210418035701p:plain:w400

そして、管理画面で集計が見られます。これは見てると結構面白い。
f:id:gyuque:20210418040138p:plain
ほとんど「25〜54歳 男性」で占められていて他は誤差程度です。おっさんばっかやな。
あと、地域で見るとアメリカのついでに入れたカナダが異様に多くなっています。これは多分、たまたまカナダの人がグループにシェアしたからで、別にカナダ人がレトロゲー好きなわけじゃない気がします。全体数が少ないとその程度のことでブレるので、統計としての価値はないってことでしょうか。

で、効果は? まだ分かりませんが、この費用だと一本売れれば元が取れます。終了時点のクリック数が恐らく200程度なので、まあ一人ぐらいは……

PA GAMESが会社になりました

PDK ポニメ電子工業合同會社

ポニメ電子工業合同会社という会社ができました。税務署から怖い人が来ないようにお金の管理をしっかりするという側面が一つですが、今後は個人契約NGの方にも依頼したりできるかな、というメリットがもう一つです。堅く言うと制作活動の円滑化ですね。ちなみに会社名はなんというか、物を作ってるぞという感じを出したくて「工業」を入れました。コナミ工業とかアルファ電子工業(ADK)みたいなイメージで。後者は実質消えたようですが……

とはいえ実は自分の給料すらゼロなので会社ゴッコの域を出ていません。自分の給料が出て一人前、人を雇うところまで行ったらミラクル、ってとこですかね。

一応の、形だけの船出ですが、ポニメ電子工業合同会社をごひいきに、よろしくお願い致します。

↓ちなみに登記をする法務局は千葉みなとという僻地にあるんですが、海が見えるのはいいことですね。まさに船出という気分になります。
f:id:gyuque:20210227040928j:plain

「ねこたこ」量産版+US版が出ます

「ねこたこ」量産版+US版が出ます

今まで、ねこたこの見込み需要が大量生産(1000〜)に微妙に届かなそうで量産を見送っていたのですが、Makeの賢人CUBIC STYLEさんのご協力により大量生産と手作りの間、中量生産が可能になりました。ということで早速デジゲー博で第一陣を発売。今まで一年近く手作業で作った量以上の在庫がCUBIC STYLEさんのところにあります。
toranoana-keeper.com
↑こちらで予約してデジゲー博のブースで14:30までに受け取ってください。もちろん CUBIC STYLEさんのゲームボーイシリーズもありますのでよろしく

ところで今回から、印刷所が変わったことで箱の品質も上がっています。というか「最高のものを作る」と意気込んでいたのに今まであれで満足していたのは反省点ですね。
↓右が新しい方です。写真だと全然わかりませんが質感がかなり良くなっています。
f:id:gyuque:20201125184700j:plain
そういえば去年のデジゲー博の時はまだ箱がなかったんですよ。そこから随分進歩しました。

加えて、北米(US)SNES版も年末までを目標に準備しています。元々タイトルを英語版に切り替える機能が入っていたのでソフトはそのまま、箱のデザインだけ新規に起こしました。こちらは現地のAmazonで。
f:id:gyuque:20201125200259p:plain

二作目

あと、デジゲー博で二作目も展示します。ただしこちらはまだ5%程度、デモプログラムみたいな状態です。
f:id:gyuque:20201125214851p:plain
(こちらもCUBIC STYLEさんのブースをお借りしています。うちのブースは探しても無いので注意)

MacBook Proを買った

噂のM1! じゃなくて、ちょっと前に買ったので残念ながらIntel版です。まあ安心度は上ですね。MacBook 12"のOSが古くてAdobeツールが動かなくなってきたけど今更OSを更新したら確実に大破滅が起きる…… ということでもう一台。
M1ほどでなくてもCore mのMacBookに比べりゃとんでもない速さです。しかしデザイン系以外の作業はしばらく古いマシンで続ける予定……
サーバ屋ならともかくクライアント側の人間なのでまあ、スペックに甘えるのは良くない気がします。昔のPC-98でRAよりRX、RXよりVMで動く方が偉いでしょみたいな。それにしても npm start とかもうちょっと早くならんのかとは思いますが……

近況

発売が6月18日なのでもう書店に無いと思いますが……
f:id:gyuque:20200726002657j:plain
ゲームラボに「ねこたこ」のインタビューが載りました。4ページなのでかなり駆け足ですが、Kindle版などで、ぜひ。ちなみに表紙にある通り、みんな大好き「瞳」のインタビューも載っています(もちろん私は関係ありません) 瞳の、というかジーコサッカーの裏話は当時なら一般の新聞に載るレベルの危険な話です。



さて、えー、ねこたこは一段落ということで(そろそろ追加で製造をしないといけない気がするんですが) 二作目の作業に入っています。二作目はですね、日本人に受けそうなRPGをやりますよ。 と言いたいところなんですがシナリオを書く自信は一切無いのでRPG風というか、アドベンチャーゲームですかね。
イメージとしてあるのは……

グラフィッカーさんとかどうしようかな、とかはまあ追い追い考えるとして……

「ドット絵世界」さんのフリー素材でとりあえず最低限、マップを歩き回るプログラムを書いてみました。「ねこたこ」では実装しなかった書き換えスクロールが入っており、4×4画面程度までスクロール可能です。複数キャラ登場時の負荷を見るためにスライムも配置してあります。
f:id:gyuque:20200726003104p:plain
見下ろし型ということで、キャラクターの奥行き順にスプライトをソートする(正確にはスプライトの重なり順はハードで固定されているので、割りあてる順番をソートする)処理が面倒臭いかな……と思っていたんですがこれは意外とすんなりできました。
それより、プレイ中に突然リセットがかかる不具合が発生し、なんと初期版CPUのバグを踏んでしまったことが発覚。ねこたこもまさか……とヒヤッとしましたが、確認したところねこたこはこのバグを踏む機能は使っていない筈。一安心。

実機で動かすとこんな感じです。
f:id:gyuque:20200726003114j:plain

RPG(風)のマップエディタはこんな感じになっております。
f:id:gyuque:20200726003132p:plain
SFCのBGデータの仕様上、マップデータにはパレット情報を付けなければいけない、しかしパレットの情報はグラフィックコンバータが持っている……という事情があり、「ねこたこ」の時は、

  1. マップエディタからマップデータ(パレット情報なし)をエクスポート
  2. グラフィックコンバータで取り込み、マップデータ(パレット情報あり)をエクスポート

と二度手間になっていましたが、今回はグラフィックコンバータからプロセス間通信でマップエディタにパレット情報を送りつけるようになりました。つまりエクスポートは一回に。まあグラフィックコンバータは起動しとかなきゃいけないんですが、余計な一時ファイルができないので若干の効率アップにはなります。



ところで、せっかく素材を使わせていただいておいてなんなんですが、ドラクエ風の斜め見下ろし型素材ってアクションRPG(アドベンチャー)に使うと具合が悪いんですね。ほら、こうやって
f:id:gyuque:20200726172741p:plain
敵が裏に隠れちゃうじゃないですか。

ゼルダの場合は

  • 樹木などは、背が低いデザインにして死角が出ないようにする
  • 裏に隠れようとしても必ず半身程度は出るように当たり判定を設定する
  • 上記のデザインができない場合は斜めでなく真上から見下ろした絵を混ぜる(写実性という面ではおかしいが機能優先)

といった工夫が見えます。マトモなものを作ろうと思ったら、こういう地道な工夫は必要ってことですね。

SFC用新作ソフト「ねこたこ」が完成しました

あけましておめでとうございます。
なんとかこの前の予告通り、12月31日にSFC用ソフトが完成しましたので、少量のテスト販売みたいな感じですがコミックマーケットに出してきました。ちなみに隣はむっく先生の初代ファミコンでセット展示っぽくなりました。

f:id:gyuque:20200101171914j:plain
f:id:gyuque:20200101172945j:plain
f:id:gyuque:20200101173022j:plain

実機で使えるROMカートリッジ版が10本、エミュレータ用のCD版が15本(+予備1本)で臨んだところ、おかげさまでROM版は10分ほど、CD版も昼前に完売となりました。CD版のディスク自体はもうちょっと用意していたんですが、説明書をギリギリしか刷っていなかったのでこの数となりました。

カセットの製造について

まず大丈夫だとは思うんですが、Nintendoのロゴが入ったカセットを売るのはなんか怖いので、販売用には Ali Express で買った互換品のshell(ガワ)を使っています。で、Aliの無料配送が「世界中を旅して最後には失くなる」とか怖い噂を聞くのでとりあえずDHLで少量だけ輸入しました。これがカセットを10本しか作らなかった理由の1つですが、試しに無料配送の注文もしてみたところ普通にEMSで何の心配もないことが分かったので、次はもうちょっと安定して生産できそうです。
ちなみに中身の基板はCUBIC STYLEさんの協力で大量に安く確保できています。感謝……

ショップ版の予定

何店か、同人ハード対応ショップさんから置くよ!とお誘いをいただいているので、店頭と直販(BOOTH)で供給しようと思います。ただ、手作りなので何百本とかは期待しないでください。

で、実は豊井さんがロゴを作る前に、デザイナーの方に依頼して製作した英語のロゴがあって、これは海外版(という設定)で画面に出せるようにしようかなと思っています。これに北米版のラベルも付けて、買った人がDIYで北米版を作れるようにしようと。EU版は……多分こちらの方が需要が多いんですが、PALはフレームレートが変わるので面倒なんですよねこれが。もちろんCD版+エミュレータなら関係ないですが。

Announcement of exhibition / 展示のお知らせ

まず、展示してばっかりでいつ出すねんという話ですが……
豊井さんがどうしても今のグラフィックに納得できないということで、デジゲー博はスキップしてコミックマーケットぎりぎりまで修正作業をすることにしました。ということで目標、12月31日です。
その代わりにといってはなんですが、Pixel Art Parkに出すグッズ、デジゲーまでに間に合いません?と相談したところOKが出たので、物販はサントラ+豊井さんグッズになります、多分。もちろん展示は今年もあります。今回はオープニングからエンディングまで揃ったほぼ完成版を試遊できます。
で、同じものを次の週のPixel Art Parkにも持って行くことにしました。

1041uuu strongly requested time to refine his work. And I decided to postpone release of this month. We'll provide a playable exhibition and sales of goods on events below.

Digital Games Expo 2019

Nov. 17, 2019
Akihabara UDX
Stand number: E-25a
http://digigame-expo.org/

Pixel Art Park 6

Nov. 24, 2019
3331 Arts Chiyoda
Stand: 1041uuu
https://pixelartpark.com/



↓ こんな感じでCD版のパッケージを準備したり、あとROM製造も工場を紹介していただけそうで、ちょっとずつリリースに近付いてはいます。