CEDEC2019行ってきました3日目 メモ書き
AI諸問題に対しての日本語のアプローチ
機会学習の問題点1 外側の方に向かっていく方は苦手 ノイズから、その画像が人間的にはバスに見えていても、機械学習としてご判断を行える
人が意図的に機械に対して、誤判断を行わせることができてしまう。 例えば特徴点的なものの編集とか 機械学習でのデータの偏りが、ずれを生じさせる
予期!=予測 予測=次の状態 交差点で車が見えている状態で、車が通る
予期=あらかじめの期待を最大の状態のこと 交差点で見えていない状態で、交差点だから、車が通るだろう
Minsky->[フレームシステム]
予期知能
鳥の視点(英語圏の人) 自然科学(客観的観測) 虫の視点(日本圏) 工学(内部的観測) これらの違いは、川端康成の雪国の一文で 「長いトンネルを抜けるとそこは雪国だった」 鳥の視点→トンネルを抜ける電車をみるシーン 虫の視点→トンネルから抜ける電車内部からのシーン
ユクスキュル:環世界、 環境の中に生物がいるのではなく、生物が艦橋を作っている ヤドカリの環世界 自分の状態に沿って、適切な行動をとる 同じイソギンチャクと遭遇しても、カモフラージュ、殼にする、食べるという状態が存在する。
これまでのワークフロー 石かどうかの推論して石かどうかっていう所からのアプローチ
踏んでみて動かなければ石じゃない っていうアプローチ
SkyNetは作れるか?
低レベル
弱いAIー>何をしているかわからない
強いAIー>意味をわかって次の一手を打つ
ーーーここまでは特定の目的に対して行える。
メタ推論ー>事故の存在についてAI(目的を自ら定める) アプローチをDeepLearningしているものをDeepLearningするといった感じ
高レベル
リアルタイムレイトレーシングの導入と最適化事例
DXRの活用 RTGI(リアルタイムレイトレーシンググローバリイルミネーション)
GraphicsQue
DXRパイプライン StateObject
ラスタパイプライン VB->VertexBuffer IB->IndexBuffer
Rayヒットじの部分でしか、プログラマブルじゃない
シーン構造を定義する AccelerationStructure(AS) これの構築をしないとレイトレーシングできない TopLEvelAS BotomLevelAS がある。
GlosetHit->レイの当たった最も近いものに対して何か数r処理。
rootsignature グローバルとローカルのリソースの重複はできない。
レンダラのDXRパス追加検証 マイクロソフトとNVIDEAの方でサンプルはある。
IntroductiontoDirectXRayTracing 頂点データをバインドする必要がある。
色々と前提知識が必要そうなもので、そもそもの用語的説明のものが前提として整理して行いと何もわからん。。 よくある抑揚 自体がい一定なので、すごく眠くなるもの
そもそもどういったプロセスがあるのか?どういったものがあるかの判断が必要 。<_
感情を揺さぶるメタAI ーゲームへの実装方法とバランス調整への応用事例ー
メタAIって? ゲームデザイナー・ディレクターAI的な? ゲームAIの一種 ゲーム全体から色々と集めてきて面白くするためのコントロールしてくれるもの 結構バリエーションがある。
キャラクターAI キャラクターを自律的な行動 ナビゲーションAI
動的な難易度の調整 DDA
シチュエーションを一旦絞って 何をどこまで考慮する? 色んな要素からバトルを面白くするっていう道筋を立てるのが難しい。
達成したいこととしては、現在の感情に対して、つぐにどういった感情にさせてあげたいか? 退屈し過ぎるとヌルゲーになってしまう。 それぞれのゲーム要素のコントrーると感情の動かし方の対応関係を見る事で、道筋を見つけ出す。
NPCの数の制御 →制御できる状態自体が少ない。 →扱える感情的に少ない。 =これは一次元上で行われているため。
勝利への期待感と敗北への不安感という様々な感情との紐付けを表すことができている。 敵が強過ぎ! 負けると思ってて、絶対勝てないってなってるからこれっていう感じの感情を決定しやすい。 これらの位置=エモーションポイント
(CurrentEP)現在の感情の推測値=>データから推測 目標とするための感情 徐々に向かっていかなければいけない。いきなりと色々と不具合が存在してしまう。 それに対しての感情のものメタ的な行動を行う。
CurrentEPをどうやって求める? 格闘ゲームの場合。 HP,ヒット率、 などのパラメーターを、どれとどれの対応しているかをあらかじめ決めておく必要がある。 それらの評価値を用意した上で、どれくらいの評価値なのかを求める。
目標値(GoalEP)の決定する場合は、どのように進めれるかを決めれるようになる。 移動範囲を決めることで、感情を固めることができたりする。
上記の達成のために、どういった行動を起こすようにするか?
危険な行動の使用頻度、プレイヤーの攻撃に対する回避頻度。 隙を減らしたりという事になる。
入力=>CurrentEP(現在の感情を決定するもの) 出力=>NextEP(目指すべきもの) をどれらの行動に対して行うかといった感じの関係がどんどん決まっていく。
可能性を高めるっていう感じでも使い方としてはあり。 この辺はスプラトゥーンとかでもありそう。 塗りが少なそうだったら、スペシャルの溜まりが遅いが、責められている状態だとその分溜まりやすいといった感じ。
さらに、その情報の部分にどれくらい、そのプロットが、どの程度の感情の類似度があるかをさらにわかる(100%ナーバスとかはあり得ないので、それらの回避)
これらの感情部分に対して、どういったものを退屈しているかなどを、一致させる部分が大変。 スクエニでは、ゲームデザイナーさんに対して、実際にプレイしてもらって、今退屈、今興奮しているとかの部分を録画して行なっていることうを行なっていた。
メタAIの改善として、
ヒートマップとの組み合わせ ゴールEPへの動かし方とか さらなる入力に対してのもの。
チューニング部分をどこに対して、行うかどうかを試すための協力関係はムッチャ必要。 データの収集だけでもあらかじめやるだけでも結構多かったりする。
今回行なったものは5分程度の中でバトルするものという限定的な使用部分があった。
プレイヤーごとの違いに対してのチューニングとかは? プレイヤーの性格をどのようにモチベーションなどを求めているものっていうのは違ったりとかのデータが存在しないので 今後のものとしてのものをどんどん拡張していきたい。 現状はそれに見合うだけのデータも、検証のものがなかったりする。
メタAIによって、調整のされかたがSNSなどの暴露の攻略に繋がってしまうのではないか? 調整する範囲を限定的にしているので、それに対してのものを、防ぐ状態にしている。
GoalEPをどのように決めていったか? ゲームデザイナーさんの考え的に、どのような範囲などが存在しているのかどうかなどのもの考慮として 今回のGoalEPは5秒単位というものがあった。
原点に収束していってしまうのは、どうやって逃しているか? =>Current部分に対して、ベクトルの2倍らへんの部分の移動量を持たしていた。
退屈でも、 相手が弱すぎて退屈。 成長を感じなくて退屈なのかなどの区別をどういった感じで考えているか?
=>それに対してのアプローチとして、感情の動きとかの軌跡とか、色々の量からの変化量を設定する部分などの要素になるのはあるかもしれないが だが、それらの調整の部分のものに対して、ゲームデザイナーさんの調整がしずらくなってくるので、そこの兼ね合いとかかならずある。 それらの解決もあるから複雑にしすぎるのも難しそう。
AIは自分でボードゲームの勝ち方を見つけられるか?
モリカトロン=>日本初のゲームAI専門の人 そのゲームに対してのAIをどういったAIがあっているかどうか?を提案してくれたりする
なぜボドゲーAIなのか?
ボードゲームAI、AlphaZeroを選んだ理由。
ゲームのカテゴリー sざっくりパターン 完全情報(不完全情報)*確定(不確定)運など *2人(多人数)
人数が少なく、完全確定情報だと容易 ー>多人数 不完全不確定が一番難しい
AIを作るものまでのAIを作るまでが膨大 テスト用だと査定が難しい、よそさまのゲーム拝借は難しい。 それらの解決のためのボードゲーム
AlphaZeroなのか? 汎用性のあるAIを作れるのではないか? 庶民レベルの計算資源での利用も可能 すでに実績がそれなりにある。
枯れた技術のを水平に考えていく。
AlphaZeroに工夫を加えて、実現
モンテカルロたんさで、正解を探す。 識者を加えて、その正解により進むように調査。 成功体験部分の実現のためにイカサマのディラーを作成した。
やったゲームとしては どうぶつしょうぎ ゴブレットゴブランず ガイスター
ボドゲーAI制作レポート
AlphaZeroの仕組み 現在のものは人間の知識なしで、チェスと将棋もマスターできる状態 MonteCarleTreeSearch MCTS + DNN(DeepNeuralENtwork)
+ルール 盤面情報とか、勝利条件、敗北情報 + コーチ(自己対戦)
勝敗から、自己対戦で、生成したデータを持つ これをDeepNeuralNetWorkとして行う。
フレームワークが、TensolFlow、Keras、Pythonc
強さの尺度がないのは困る イロ・レーティング
指標として100離れていると64%くらいの勝率 多人数とかでは、あまり有効ではない。 相対的なので、難しい。
計算資源 235万くらいで4ヶ月くらい 2080Tiが一番コスパが良かった 千日手が多くなることが多くなってくる。
随時、モリカトロンAIというサイトで、成果などが公開されている。
『描画が出来る人』ってどうやって育てればいいんだろう?~描画エンジニア育成プロジェクトポストモーテム
描画が出来る人 レンダリングパイプライン 絵作りが出来る人などを全て包括している。
2年間で作っていく、 半年くらいでの目安で、描画部分の自主学習。他のプロジェクト部分での日程調整も兼ねている。 物理ベースレンダリングも、パラメーター部分で、いじって、実際に動かしてみて、理解する。
サービス終了寸前だったタイトルが、CMを使わずにDAUを増やして九死に一生を得たSNSプロモーション術
プロモーション効果を意識しながら、ゲームのあれこれを考える事が大事。 引き継いでから5か月程度の期間で何とかしないといけない状況だった。
Twitterのプロモーション効果 これって何? 多くの人に知ってもらうには CM?すごく高い、電車 お金かかるが、CMほど増えない。 本当に届けるべき所に届ける事が出来る。 趣味嗜好の伝播とかが非常に行われやすい。興味あるものが横につながりやすい。
バズル状態は狙わないで、同時多発的に、次々とTwitter上に流れている状態を目指す。 ・知っている人と、身近の人が知っている人が気になっている ・気になっている人が、無意識に注目している状態になっている ・回数表示されると熱い感じに感じる 今、このゲームがあついと感じてもらうようにしてもらう。
プレイヤーと運営のコミュニケーションの仕方。 公式のツイッター、生放送、リアルイベント等 プレイヤーと運営の何らかのインタラクション。
間接的なコミュニケーション(何等かのコミュニケーション ゲーム内での)
ゲームの人格を意識する。(敬称を付ける。運営全体に人格的な物があるっぽい?) サントリーからとキリンからのキャラクターは違うものが出来上がる。
人格として持っているみたいとして、ユーザーからの意見を取り入れる。 空気感として作っていく。ネットスラングを積極的に取りいれる事で、ゲームを通して、5chを見ているという事をした。
ゲーム内にスクショを取るポイントを増やした えもいと、突っ込みの2ポイントを入れる。
思わず撮りたくなるような感じのものを作る。 ヤンキー風の口調のキャラクターとか、金棒がむっちゃ長くしたりとか。
ゲーム外と内の試作を作る。 コラボCafeとかでの副次的な効果を含めたもの。
いずれもTweet数を増やして、常に何かしらの情報が流れるという事を行っていた。
『大乱闘スマッシュブラザーズ SPECIAL』~3Dグラフィックスの絵作り
デフォルメ、質感、明度彩度
=これに関しては、特定のキャラクターが、見えやすい、見えにくいの調整が必要
リアルとバーチャルの融合がもたらす未来の乗車体験のビジョン/実験/考察
自動車業界 AD,CC,
ProPILOT2.0 ハンドルから手を放しても大丈夫 HandsFree ただ、スマホとか見てないっていう前提とかはある。
色々な工程があった上で、コミュニケーションの価値に見出した。
Webとか、写真とか、地図とかをデジタルだと共有できない。 となりに人がいる状態がいいのではないか?
問題点 AR+VRの位置合わせ問題 ARデバイス側の座標、VRデバイス側の座標、ゲーム内の座標、乗車位置の座標 Rootコンテナっていう座標上でどの場所のどこっていう形になっている。 これらをある特定の相対座標においてのものさえよければ良いので、ローカル座標。
ARのものはグローバル座標での座標で調整行っている。 どんどん運転していくと、周りの視界に沿って、トラッキングがずれてしまう場合がある。