Morikatron Engineer Blog

モリカトロン開発者ブログ

GeneralTalker APIを使ったLINE botの作り方

モリカトロンの宮本です。 弊社では、AIとの雑談を実現する GeneralTalker API を公開しています。 雑談を必要とする様々なシステムに組み込んで延々と無駄話を繰り広げていただくことが可能です。 前回はこのAPIを使った Twitterボットの作り方をご紹介しま…

Slack APIの登録方法(2021年5月19日時点)

こんにちは、モリカトロンの山田です。 前回 GeneralTalker APIを使ったSlack botの作り方 - Morikatron Engineer Blog を書いたとき、Slack APIの登録がやけに面倒だったので、画像を交えながら、登録手順を丁寧に記録しておきます。 ※2021/05/19時点での情…

GeneralTalker APIを使ったSlack botの作り方

こんにちは、モリカトロンの山田です。 弊社では、AIとの雑談を実現するGeneralTalker APIを公開しています。 雑談を必要とする様々なシステムに組み込んで延々と無駄話を繰り広げていただくことが可能です。 今回はこのAPIを使ったSlack botの作り方をご紹…

GeneralTalker APIを使ったTwitter botの作り方

モリカトロンの宮本です。 弊社では、AIとの雑談を実現する GeneralTalker API を公開しています。 雑談を必要とする様々なシステムに組み込んで延々と無駄話を繰り広げていただくことが可能です。 今回はこのAPIを使ったTwitterボットの作り方をご紹介しま…

PythonのGUIフレームワーク「Dear PyGui」の紹介

どうも、モリカトロン株式会社でエンジニアおじさんを営んでいる岡島です。 お仕事でプログラムを書いていると、ときどきGUIアプリケーションを作る必要が出てきてきます。 そういう場合今まではPythonのQtバインディングであるPyQtやPySide(Qt for Python)…

「toio SDK for Unity」v1.1.0の更新

はじめまして、モリカトロン株式会社・AIエンジニアの舒(ジョ)と申します。今年4月からモリカトロンに入社しました。大学と院生の専門は機械電子システムで、機械学習に触れたこともあります。 会社の皆と一緒に「toio SDK for Unity」一部の開発に参加して…

UE4.26 に新規追加されたUE4MLを試す

どうも、モリカトロン株式会社でプログラマおじさんを営んでいる岡島です。 先日正式リリースされた Unreal Engine 4.26.0 に UE4ML という機械学習関係っぽい名前のプラグインが追加されたという情報を見つけたので、早速試してみました。 UE4ML はブログ執…

自動微分+XLA付き機械学習フレームワークJAXを使用してMNISTを学習させてみる

こんにちは、エンジニアの竹内です。 深層学習を行う際によく利用されるフレームワークといえばGoogleが開発しているTensorflowとFacebookが開発しているPytorchの2大巨頭に加えて、Kerasなどが挙げられるかと思いますが、今回はそのような選択肢の一つとし…

AIネット対戦システムの紹介2

こんにちは、モリカトロン株式会社チーフエンジニアの松原です。 前回記事(AIネット対戦システムの紹介 - Morikatron Engineer Blog)に続きまして、AIネット対戦システムのAIクライアント(ゲームをプレイするためのプログラム)を紹介いたします。まずは…

可搾取量(exploitability)で不完全情報ゲームの戦略を評価する

こんにちは、エンジニアの竹内です。 以前のブログ記事【CFR】不完全情報ゲームを学習するAIを実装してみる【KuhnPoker】 - Morikatron Engineer Blogにて二人不完全情報ゲームのナッシュ均衡を計算的に求めるCounterfactual Regret Minimizationというアル…

CEDEC2020の補足 ー格闘ゲーム編その3ー

どうも、モリカトロンのプログラマおじさん、岡島です。 CEDEC からだいぶたってしまいましたが、前回 からの続きで 接待プレイについての補足などをしていこうと思います。 「接待」について そもそもなんで接待プレイをAIにさせたかったのか 接待プレイの…

AIネット対戦システムの紹介

こんにちは、モリカトロン株式会社チーフエンジニアの松原です。 今日は弊社が開発した「AIネット対戦システム」を紹介いたします。 「AIネット対戦システム」はインターネット上でいつでも誰でもゲームの対戦ができるシステムです。AIと人間とが分け隔てな…

CEDEC2020 質疑応答

こんにちは、モリカトロンでプログラマをやっています。馬淵です。 先日発表させていただいたCEDEC2020ですが、講演時でのコメントやアンケートが届いたため、今回はそれらに寄せられた質疑応答を私が代表してここに書かせていただきます。 発表時のスライド…

【GAIL】逆強化学習とGANを組み合わせた模倣学習アルゴリズムを実装してみる【CartPole】

こんにちは、エンジニアの竹内です。以前の記事でDQNに模倣学習の仕組みを取り入れたDeep Q-Learning from Demonstrationsというアルゴリズムを紹介しましたが、模倣学習には他にもいろいろなアプローチが存在します。 特にエキスパートの行動軌跡から環境の…

CEDEC2020の補足 ー格闘ゲーム編その2ー

どうも、モリカトロンのプログラミングおじさん、岡島です。 馬淵の記事で予告された通り、今回は僕から 用意した環境ではUE4の描画を切ることが出来ず(その辺りの話は岡島さんが書いてくれると思います) の部分について補足説明をします。 UE4とPythonを通…

CEDEC2020の補足 ー格闘ゲーム編その1ー

お久しぶりです。モリカトロンでエンジニアをやっております、馬淵です。 前回私がブログを書いたのがNEATに関して書いたとき*1(2020年2月24日)で、これを書き始めているのが2020年9月8日なので、私がブログを書くのは実に6ヶ月強ぶりになります。 何故これ…

【CEDEC2020】模倣学習でAIに3Dアクションゲームを攻略させてみる(後編)【ML-Agents】

こんにちは、エンジニアの竹内です。 この記事は【CEDEC2020】模倣学習でAIに3Dアクションゲームを攻略させてみる(前編)【ML-Agents】 - Morikatron Engineer Blogの続きとなります。 前編ではUnity側で行った学習の準備を中心的に扱いましたが、後編ではPyt…

【CEDEC2020】模倣学習でAIに3Dアクションゲームを攻略させてみる(前編)【ML-Agents】

こんにちは。エンジニアの竹内です。 まずはじめに、この記事はCEDEC2020というゲーム開発者向けのカンファレンスで発表した内容(CEDEC2020: 攻略、接待、変更に強いAIプレイヤー開発のためのアプローチ)の模倣学習部分について、発表で網羅しきれなかった検…

幻想的な旅:自分のマンモスを復活しました・パート3

こんにちは!まるたんです。今日はみんな待てました、マンモスパート3の記事です! AI:ペイントができる? ペイントて言う時に、何ですか?意味を調べるとペイントは「着色のため物体の表面に塗る流動体」。AIはそれを物理的に行うことはできません。ただ…

【CFR】不完全情報ゲームを学習するAIを実装してみる【KuhnPoker】

こんにちは、エンジニアの竹内です。 これまでの記事ではDQfD、PPOといった深層強化学習のアルゴリズムを紹介してきましたが、今回は少し趣向を変えて、ニューラルネットを使わずに不完全情報ゲームの戦略を求めるアルゴリズムを扱いたいと思います。 不完全…

島旅のススメ(後編)

こんにちは。 モリカトロンのお外担当の三宅です。前編から間が空いてしまいました。その間に『Go To トラベル』キャンペーンが開始となりましたが、東京は除外など色々ゴタついていますね……。僕もこのキャンペーンを利用して島旅を計画しようとしていたので…

Pythonと音楽と...(3)MIDIファイルの再生

こんにちは、モリカトロンのチーフエンジニア松原です。 連載第3回めの今回は、MIDIファイルの読み込み、解析、音声波形の生成、合成、再生まで実装しました。 MIDIについて 概要 MIDIの仕様書を読みたい方は MIDIファイルの中身 MIDIファイルを入手するに…

Pythonと音楽と...(2)トラックとミックス

こんにちは、モリカトロンのチーフエンジニア松原です。 連載第2回めの今回は、前回作成した音を鳴らすプログラムをもうすこしキチンとした実用的なプログラムに改造して行きます。具体的には、音楽を扱いやすいように「トラック」を導入し、音の切れ目のプ…

ホットサンドメーカーを買いました

暑いんだか涼しいんだか分からない毎日が続いておりますが、皆様いかがお過ごしでしょうか。食べ物のお話担当、モリカトロンの大里です。 前回の更新でネタが尽きたら小麦粉の話でもするか、と思っていましたが、キャンプ大好き上司たちの話を聞いているうち…

Pythonと音楽と...(1)音を鳴らす

モリカトロンのチーフエンジニア松原です、こんにちは! 今回から「Pythonと音楽と...」と題して連載します(全部で四回くらいの予定)。第一回は「音を鳴らす」。音のデータ化や録音・再生の仕組みから、Pythonで指定した周波数の音を発音するところまで、…

WebSocket を TCP の代わりに使ってみる

どうも、モリカトロンでプログラマおじさんをしている岡島です。 現在 TCP を使ってプロセス間の通信を行っているのですが、同一のマシンで沢山のプロセスと通信しようとすると空いているポート番号がたくさん必要になるし、 ネットワーク上の複数の機器を使…

お取り寄せタレ・ドレッシング

梅雨も本格的になり湿度と暑さが迫りくる日々ですが、皆さまいかがお過ごしでしょうか。食べ物の話題担当、モリカトロンの大里です。 今回も引き続きお取り寄せのお話をいたします。といってもおやつがもう限界なので、ご紹介するのは液体です。タレやドレッ…

神様のゲーム#8

「体の中の警察」 FPSやRPGでのお楽しみの1つに、武器や装備のカスタマイズがある。同じ武器でも装着する弾薬の種類を替えることができれば、武器の種類x弾薬の種類だけのバリエーションが生まれる。装備にしてもしかり。武器を2つ持てるとすると、(武器…

幻想的な旅:自分のマンモスを復活しました・パート2

こんにちは!マルタンです。 彫刻:AIはこれができる? 人工知能(AI)は人間の芸術家や意志を置き換える、または私たちに創造性の新しい視点を示していますか? AI生成およびAI対応のビジュアルアートワークに関しては、2D画像フィールドでは、過去数年間に…

【Tensorflow2】強化学習アルゴリズムPPOを実装してみる【CartPole】

どうもこんにちは。エンジニアの竹内です。 強化学習、とりわけ方策や価値関数をニューラルネットによって近似する深層強化学習と呼ばれるものにはDQNを始めとして実に様々な手法が存在します。 今回はその中でもDQNと並んで割とポピュラーなProximal Policy…