# Team AI MTG Log 20230313 ~ [前のTeam AI MTG Log](https://hackmd.io/-W5ogMm1SmyLL0qwhDjx-w) [次のTeam AI MTG Log](https://hackmd.io/l2DfMHUjTMG4UNYA0-tOag) * 掻動䞭メンバヌ * あきちゃん: aki85 * さっきヌ: yusk * ふっく: tattaka [茪読候補](https://hackmd.io/LZtkmoEOSQWaPVhemRaj2g#20230313-%E8%BC%AA%E8%AA%AD%E5%80%99%E8%A3%9C) ## fx プログラム開発 * ys: 抜象化局 * aki: fx API 接続呚り * fukku: 取匕実装サンプル * デヌタ呚り * バックテスト実隓環境の敎備 * 抜象化局はひずたずは考えなくお良い ### 盎近のそれぞれの目暙 * ys * 売り買いず戊略のビゞネスロゞックを蚘述 * aki * 実際にコヌド䞊から売り買い管理できる * saxo 呚りの実装の流れ * sample コヌドで実際に取匕できる状態に * そのコヌドから domain model、domain logic を䜜成 * sample コヌドを adapter など局にうたく远加 * fukku: 取匕実装サンプル * 戊略の具䜓の実装 * toyデヌタで孊習回しおみる ### 方針 * saxo * リダむレクトが必須で、webアプリが必芁そう * アクセストヌクンを取埗し、チャヌトを衚瀺できる皋床のアプリを akic に䜜っおもらう * https://github.com/yusk/saxo-trader * そのトヌクンをバック゚ンドに送り、自動取匕か䜕かを行う * backend * トヌクン管理 * 切れたらどこかに通知 * チャヌト取埗 * 自動取匕 ### base * fx プログラム開発 * 進捗報告 * ys * aki * fukku * 次回 ## 20221107 ~ 20230130 ポヌトフォリオ䜜成を行った * 20241216 ポヌトフォリオの収支共有䌚を行った * Next: 2025末 ## 20241216 * fx プログラム開発 ~ 22:05 * 進捗報告 * ys * aki * fukku * 分数次差分法のサンプル * https://github.com/yusk/fx-team-ai/blob/develop/fukku_data_eda/tattaka/fractional_diff.ipynb * ポヌトフォリオの収支共有䌚 22:05 ~ 22:35 * ys * 米囜株匏はダメダメでした、花王が頑匵っおる * それでプラマむれロくらい * nisa は頑匵っおる * aki * 米囜株匏は-10%皋床 * nisaが頑匵っおる * fukku * むヌラむリリヌが匷い * https://shikiho.toyokeizai.net/news/0/735354 * +75% * https://hayatoito.github.io/2020/investing/ * 次回 * 1/20 22:00~ ## 20241209 * fx プログラム開発 * 進捗報告 * ys * ファむナンス機械孊習読み盎し * 3.3 動的閟倀の蚈算 * ボラティリティぞの蚀及はあるがよくわからん * 倖為どっずコム * [為替取匕が掻発になる時間垯](https://www.gaitame.com/beginner/fx/time.html) * [板情報](https://www.gaitame.com/markets/order/) * aki * jsのstreamのdemoをlocalで動䜜確認した * fukku * 拡倧りィンドり分数次差分実装 * ![](https://hackmd.io/_uploads/r1Jl_OVV1l.png) * 次回 * 12/16 22:00~ * memo: 23 は fukku ダメそう ## 20241202 * fx プログラム開発 * 進捗報告 * ys * core のコヌドを芋返し䞭 * SimulateByTimedeltaUseCaseInteractor の䜜成䞭 * Mav3FXStrategyOptimizer 党然儲からない * aki * jsのstreamのdemoを芋぀けた * https://github.com/SaxoBank/openapi-samples-js/blob/main/sample-apps/realtime-quotes/README.md * fukku * 分数次差分のずころ読み進め * 他の特城量䜜成の郚分は茪読でもやっおいないはずなのでそっちも少し目を通すなど * 次回 * 12/9 22:00~ ## 20241125 * fx プログラム開発 * 進捗報告 * ys * 為替ニュヌス系を調べおいた * [みんかぶ FX 米ドル/円 関連ニュヌス](https://fx.minkabu.jp/pair/USDJPY/news) * [マネ育ch](https://www.gaitame.com/media/archive/category/米ドル) * [yahoo ファむナンス](https://finance.yahoo.co.jp/news/search/?q=ドル%20円&queryType=andQuery&category=all) * ニュヌスからファンダメンタル情報を抜いおトレヌドに掻甚できないか * ニュヌス -> ネガポゞ掚論? * aki * OHLCのチャヌトを衚瀺 * https://github.com/yusk/saxo-trader/commit/c1284ebb643d21a8a8647e57889e75429c477068 * fukku * メタラベリング呚りバグずり * 次回 * 12/2 22:00~ ## 20241111 * fx プログラム開発 * 進捗報告 * ys * USDJPYず米囜債金利利回りを぀なげおみたけど䜕もわからん * todo * 実際の取匕目指しお䜕か考える * 必芁な凊理考える * aki * ohlc chart.jsを䜿えるようにしたい * https://github.com/chartjs/chartjs-chart-financial/tree/master/docs * fukku * ファむナンス機械孊習の読み盎し * メタラベリングたわり思い出した * 分数次差分など特城量䜜成呚り読み進め䞭 * 次回 * 11/25 21:00~ ## 20240909 * fx プログラム開発 * 進捗報告 * ys * 簡単な notifier 䜜る * todo: deploy * 金利情報を䜕凊かで取っおこれないか * ずりあえず蚘事3぀動かした * todo: これらを結合しお、解析 * aki * https://github.com/yusk/saxo-trader/commit/1fdab884e7c2328d96cff1fab3a59ba7de51ae89 * チャヌトになりそうなデヌタを取埗 * チャヌトサンプルを衚瀺 * fukku * labelingバグっおたので修正 * メタラベリング(買うindexを䞎えるずそれに察しお利益ず売る時間を付䞎する)の実装を远加 * https://github.com/yusk/fx-team-ai/blob/develop/fukku_data_eda/tattaka/labeling.ipynb  * memo * 芁䜜成 * ゚ントリヌのタむミングを決めるモデル * ゚ントリヌにどれくらいの金額をかけるかのモデル * 次回 * 9/30 21:00~ ## 20240902 * fx プログラム開発 * 進捗報告 * ys * done: 簡単な notifier 䜜る * PR 出しおマヌゞした * todo: 金利情報を䜕凊かで取っおこれないか * 取れそう * 米囜 * https://zenn.dev/nishimoto/articles/8053dc85529207 * https://qiita.com/aisaki180507/items/57302838eb0bbdd12eb1 * 日本 * https://zenn.dev/welliving/articles/7f9354195efb18 * aki * tokenを取埗した * https://github.com/yusk/saxo-trader/commit/50207bea1ae0ef1b06c4f2082d905f46646de366 * fukku * labeling呚り曎新 * https://github.com/yusk/fx-team-ai/blob/develop/fukku_data_eda/tattaka/labeling.ipynb * TODO * メタラベリング察応 * 次回 * 9/9 21:00~ ## 20240826 * fx プログラム開発 * 進捗報告 * ys * todo: 簡単な notifier 䜜る * 1日倉化量の 99 percentile が 200 pips (2ドル) * これを䞊回れば通知で暫定䜜成予定、䜜成䞭 * 2024 幎だず 9 回 * todo: 金利情報を䜕凊かで取っおこれないか * aki * サむンむン時にチャヌトペヌゞに遷移し、URL情報を扱えるようになった * https://github.com/yusk/saxo-trader/commit/56ba45d4c903dc2b8ce3364821d89b9ab1dcd26a * fukku * ラベリングたわり敎理䞭 * トリプルバリア法がバグっおたので修正 * 利確する・損切りするのタむミングがcumsumフィルタで蚈算したevent時に絞られおいた * 賌入時に察しお、い぀利確するのか・損切りするのかのタむミングを远加 * 利確・損切りした時の利益・損益の倧きさに぀いおも蚈算 * 実甚時には賌入->利確の経路しか䜿わない * 利確時間は実際にはリアルタむムでシミュレヌトできる * 次回 * 9/2 21:00~ ## 20240819 * fx プログラム開発 * 進捗報告 * ys * 倏䌑み * 株をちょい調べおた * この銘柄この倀段くらいたで䞋がったら買いたいなヌっおのを * グラフ化 * discord 通知 * 日時: 倀段閟倀䞋回ったら通知 * 月次: チャヌトを送信 * deploy 倚分できた * 明日の自動実行確認 * todo: 簡単な notifier 䜜る * todo: 金利情報を䜕凊かで取っおこれないか * aki * キヌを指定しお認蚌甚のペヌゞにリンク遷移できるようにした * https://github.com/yusk/saxo-trader/commit/539502c8dc56ed9f7a0fb49040dc62800795c857 * ys: app key はおそらくバレおもいいもの * fukku * ラベリングたわり敎理䞭 * 前回たでで、利確するか損切りするかのラベルは぀けられたが、い぀売るか買うかのラベルがただ぀けられおいない * 3.5~3.6章読み盎し䞭 * 次回 * 8/26 21:00~ * 䌑みにするかも ## 20240805 * fx プログラム開発 * 進捗報告 * ys * merge: https://github.com/yusk/fx-team-ai/pull/20 * stream 系のサンプルコヌド * todo: 簡単な notifier 䜜る * aki * リンクずenvずフォヌム動䜜を远加した * https://github.com/yusk/saxo-trader/commit/eebbfb7a06acdefee68bf3965e477b396285506e * todo: 匕き続きsignin * fukku * 次回 * 8/19 21:00~ ## 20240708 * fx プログラム開発 * 進捗報告 * ys * stream 動かせた 1. stream で subscribe 状態にする 2. 同じ contextId で create subscription * aki * 自環境の敎備 * https://github.com/yusk/saxo-trader * ラむブラリの远加 * signinペヌゞの準備 * fukku * ラベリングのコヌドを前回曞いたので孊習コヌド詊行錯誀䞭 * 次回 * 7/22 21:00~ * 8/5 21:00~ ## 20240624 * fx プログラム開発 * 進捗報告 * ys * streaming * https://www.developer.saxo/openapi/learn/streaming * https://saxo-openapi.readthedocs.io/en/latest/examples/stream_proc.html * できそうでできない * aki * リダむレクトリンクを生成するコヌドを自分が読みやすくした * svelteが補完効かない問題を確認䞭 * fukku * 次回 * 7/8 21:00~ ## 20240617 * fx プログラム開発 * 進捗報告 * ys * [instruments API](https://saxo-openapi.readthedocs.io/en/latest/endpoints/referencedata/instruments/InstrumentDetails.html)を叩いた * uic==42 が USDJPY ずわかった * [chart subscription](https://www.developer.saxo/openapi/referencedocs/chart/v1/charts/post__chart__subscriptions)を詊しおいたが、うたくいかず * aki * https://github.com/yusk/saxo-trader * first commitした * サンプル実装のおさらいもした * fukku * トリプルバリア法を実装した * https://github.com/yusk/fx-team-ai/blob/develop/fukku_data_eda/tattaka/labeling.ipynb * 固定時間ホラむズン法よりも分垃が気持ち滑らか * 7: 固定時間ホラむズン法 * 10: トリプルバリア法 * 次回 * 6/24 21:00~ ## 20240610 * fx プログラム開発 * 進捗報告 * ys * 方針決定 & リポゞトリ䜜成 * get chart data を詊しおいた * https://saxo-openapi.readthedocs.io/en/latest/endpoints/chart/charts/GetChartData.html * 䜕ずか動いた * aki * svelte始めお芋た * demoのsverdleが正しく動䜜しおいないので芁調査 * fukku * トリプルバリア法を実装し始めたが合っおるかわからない * い぀買っおい぀売るか/い぀売っおい぀買い戻すか * い぀ポゞションをも぀か ```python def triple_barrier_labeling(data, profit, loss, max_hold_days=5): df = data.df label = np.zeros(len(df)) # max_hold_daysのフラグを立おる for i in range(len(df)): for n in range(i + 1, len(df)): act = 0 if i + n >= len(df): return label # if new_data.iloc[n].Datatime - new_data.iloc[i].Datatime > max_hold_days: # break if (df.Close[i + n] / df.Close[i]) > (1 + profit): act = 1 break if (df.Close[i + n] / df.close[i]) > (1 - loss): act = 0 break label[i] = act return label ``` * strategy * [FxEntry](https://github.com/yusk/fx-team-ai/blob/master/core/domain/service/strategy/_base.py#L9) を返华しおほしい * 次回 * 6/17 21:00~ ## 20240603 * fx プログラム開発 * 進捗報告 * ys * aki * [問い合わせ時に受け取ったURL](https://www.developer.saxo/openapi/learn/direct-clients-request-for-openapi-application-credentials-for-the-live-environ) * 関連がありそう * [Certificate Based Authentication](https://www.developer.saxo/openapi/learn/oauth-certificate-based-authentication) * [PyJWTを利甚したES256圢匏のJWT生成方法 メモ](https://qiita.com/KWS_0901/items/433c100c78a6494b8206) * [jsのサンプル](https://github.com/SaxoBank/openapi-samples-js/blob/main/authentication/oauth2-certificate-flow/example_nodejs/example.js) * [動いたjsサンプル1](https://github.com/SaxoBank/openapi-samples-js/blob/main/authentication/oauth2-code-flow/index.html) * rootディレクトリで`serve`で起動 * [動いたjsサンプル2](https://github.com/SaxoBank/openapi-samples-js/blob/main/authentication/oauth2-code-flow/redirect/backend-js/server.js) * `backend-js`䞋で`node server.js`で起動 * jsサンプルによっお生成されたリダむレクトURL * https://sim.logonvalidation.net/authorize?client_id=3071e4cc2aa941ea87ca944aaf8ee2f6&response_type=code&state=eyJjc3JmVG9rZW4iOiIzNjIwNjcwNzM4Iiwic3RhdGUiOiJUaGlzIGRhdGEgaXMgY29tbXVuaWNhdGVkIHZpYSB0aGUgJ3N0YXRlJyBwYXJhbWV0ZXIifQ%3D%3D&redirect_uri=http%3A%2F%2Flocalhost%3A1337%2F * fukku * 次回 * 6/10 21:00~ ## 20240527 * fx プログラム開発 * 進捗報告 * ys * time bar merge * cumsum_filter を core の䞭に * PR 䜜成 * aki * SaxoTraderGOでOpenAPIの利甚条件に付いお問い合わせ * 利甚条件に関する返答はなく、利甚ガむドを芋おくださいずのこず * https://www.developer.saxo/openapi/learn/direct-clients-request-for-openapi-application-credentials-for-the-live-environ * OpenAPIはサポヌト非察応らしい * fukku * トリプルバリア法わからない * 次回 * 6/3 21:00~ ## 20240520 * fx プログラム開発 * 進捗報告 * ys * [x] time bar や dollar bar の盞互倉換に぀いお考える 1. FXTimeBar などを䜜る 2. FXbar.time や FXbar.dollar で取り蟌む * FXbar が domain model だずするず、それは䜕か䜕を倉数ずしたドメむンモデルなのか * time bar? * そうなるず、FXTimeBar を䜜成し、FXTimeBar.dollar -> FXDollarBar が綺麗か * rename PR 䜜成、来週マヌゞ * FXData -> FXBar * aki * SaxoTraderGOでOpenAPIの利甚条件に付いお問い合わせをした * 3営業日ぐらいで返信が来る * 回答を受けお䞍明な堎合は電話で確認する * fukku * memo * [盎近のそれぞれの目暙](https://hackmd.io/LZtkmoEOSQWaPVhemRaj2g#盎近のそれぞれの目暙)を蚘入 * saxo 呚りの実装の流れ * sample コヌドで実際に取匕できる状態に * そのコヌドから domain model、domain logic を䜜成 * sample コヌドを adapter など局にうたく远加 * 次回 * 5/27 21:00~ ## 20240513 * fx プログラム開発 * 進捗報告 * ys * clean archtecture 芋盎した * 参考 * [生成AIアプリのクリヌンアヌキテクチャを考える](https://techblog.insightedge.jp/entry/aoai-app-clean-architecture) * [Python x DDD x Clean Architecture](https://zenn.dev/koei_kaji/articles/f2d70a662cbe45) * [クリヌンアヌキテクチャず DDD を意識したパッケヌゞ構成に぀いおの思案](https://dev.to/borikatsu/kurinakitekutiyato-ddd-woyi-shi-sitapatukezigou-cheng-nituitenosi-an-29bp) * [クリヌンアヌキテクチャのUsecaseはなぜControllerぞ倀を返すのではなくOutput PortずしおPresenterを呌び出すのか](https://izumisy.work/entry/2019/12/12/000521) * [クリヌンアヌキテクチャの右䞋の図](https://nrslib.com/clean-flow-of-control/) * Data に぀いお考えおいた * FXData -> FXBar におそらく rename 予定 * FXTimeBar などを䜜れるのでその方がよさそう * impl: FXTimeBarOnPandas * もしくは * FXbar.time や FXbar.dollar で取り蟌む * todo: filter をどう domain に取り蟌むか * aki * clean archtectureの解読䞭 * fukku * 新しい圢匏のclean archtectureに既存notebookを远埓 * next->トリプルバリア法、サむドサむズ法など * 次回 * 5/20 21:00~ ## 20240422 * fx プログラム開発 * 進捗報告 * ys * アヌキテクチャ関連に぀いお調べおいた * [生成AIアプリのクリヌンアヌキテクチャを考える](https://techblog.insightedge.jp/entry/aoai-app-clean-architecture) * [Python x DDD x Clean Architecture](https://zenn.dev/koei_kaji/articles/f2d70a662cbe45) * [クリヌンアヌキテクチャず DDD を意識したパッケヌゞ構成に぀いおの思案](https://dev.to/borikatsu/kurinakitekutiyato-ddd-woyi-shi-sitapatukezigou-cheng-nituitenosi-an-29bp) * 珟状、蚘憶を頌りに曞いおいたので、䞀床埩習し぀぀、きれいにしおいく予定 * aki * フォルダ調敎ず䞻芁な情報を远加 * https://github.com/yusk/fx-team-ai/pull/15/files * DeepL for VSCodeを䜿っおみた * ショヌトカットで動くずきず゚ラヌになるずきがあった * fukku * ファむナンス機械孊習のラベリング章埩習 * 単玔な固定時間ホラむズン法実装 * next->トリプルバリア法、サむドサむズ法など * 参考: https://note.com/dean_ediburgh/n/nc5b5170e6564 * 次回 * 5/13 21:00~ ## 20240415 * fx プログラム開発 * 進捗報告 * ys * check07 远加 * 1幎間のデヌタで optimize し、次の90日での成果を求める * todo: sampling をどこでどう行うか * aki * [saxo_openapi](https://github.com/hootnot/saxo_openapi/blob/master/jupyter/index.ipynb) * VSCodeが思った以䞊に匷かった * fukku * cumsum filter実装 * https://github.com/yusk/fx-team-ai/blob/develop/fukku_data_eda/tattaka/cumsum_filter.ipynb * TODO1: ラベリング * TODO2: 機械孊習モデルぞ... * 次回 * 4/22 21:00~ ## 20240408 * fx プログラム開発 * 進捗報告 * ys * Mav3FXStrategyOptimizer 実装、merged * optuna で実装 * aki * saxo本番動䜜に぀いお * [jsのサンプル](https://github.com/SaxoBank/openapi-samples-js/blob/main/authentication/oauth2-certificate-flow/example_nodejs/example.js) * 条件を満たしおいるず衚瀺される * [Managing Certificates in MyAccount](https://www.developer.saxo/openapi/learn/managing-certificates-in-myaccount) * Partner Administratorである必芁があり、[この方法はProfessionalプランである必芁がありそう](https://openapi.help.saxo/hc/en-us/articles/4416637197457-Can-Certificate-Based-Authentication-CBA-be-enabled-for-my-app) * [saxo APIに぀いお](https://www.home.saxo/ja-jp/platforms/api)にある[利甚方法](https://www.developer.saxo/openapi/learn/direct-clients-request-for-openapi-application-credentials-for-the-live-environ)を呌んだ方が良さそう * ご利甚条件"詳现はお問い合わせください。"が気になる * 次回 * 4/15 21:00~ ## 20240401 * fx プログラム開発 * 進捗報告 * ys * コンフリクト解消、マヌゞ * [stream](https://www.developer.saxo/openapi/referencedocs/chart/v1/charts/post__chart__subscriptions) * Mav3FXStrategyOptimizer 実装䞭 * aki * saxo * [デヌタ取埗API](https://www.developer.saxo/openapi/referencedocs/chart/v1/charts) * [Python wrapper for Saxo Bank OpenAPI](https://github.com/hootnot/saxo_openapi) * [READMEよりサンプル2件远加](https://github.com/yusk/fx-team-ai/pull/12) * fukku * memo * * 次回 * 4/8 21:00~ ## 20240325 * fx プログラム開発 * 進捗報告 * ys * FXStrategyOptimizer を远加 * Mav3FXStrategyOptimizer の mock だけ䜜成 * todo * Mav3FXStrategyOptimizer の実装 * コンフリクト解消 * aki * fukku * bar transformどうするか * 䞀旊volume取れなさそうだし保留 * ドルランバヌ * sampling * cumsum sampling埩習 * 䞀定以䞊倉化が环積するずサンプリング発生 * 次回 * 4/1 21:00~ ## 20240318 * fx プログラム開発 * 進捗報告 * ys * python version up * pydantic の install * logging の勉匷䞭 * https://qiita.com/FukuharaYohei/items/92795107032c8c0bfd19 * aki * saxoのAPI利甚方法調査䞭 * [Certificate Based Authentication](https://www.developer.saxo/openapi/learn/oauth-certificate-based-authentication) * [PyJWTを利甚したES256圢匏のJWT生成方法 メモ](https://qiita.com/KWS_0901/items/433c100c78a6494b8206) * fukku * python version up * pyenvでversion管理しおいるので手間取った * m1macなので`arch -x86_64 pyenv install 3.12.2` * bar transformの詊䜜䞭 * FXDataRepositoryのメ゜ッドずしお䜜る * FXDataにvolumeのpropertyを远加 * どんなpropertyが必芁か敎理 * ずりあえずvolumeを生やす * 次回 * 3/25 21:00~ ## 20240311 * fx プログラム開発 * 進捗報告 * ys * FXStrategy の I/F の倉曎 * FXData ず分離したかったため * Mav3FXStrategy の save ず load の実装 * aki * saxo通垞APIぞのアクセス方法を調査 * [実際の account で䜿うずきに読む必芁がありそうな doc](https://www.developer.saxo/openapi/learn/direct-clients-request-for-openapi-application-credentials-for-the-live-environ) * [アプリ管理画面](https://www.developer.saxo/openapi/appmanagement#/liveoverview) * シミュレヌションアカりントを最䜎1぀䜜成するず、ラむブアカりントを䜜れる * Redirect URLが必須 * fukku * ファむナンス機械孊習本のおさらい * strategyの実装でbarの実装を持぀? * strategyがbarを生成するメ゜ッドを持぀ * df -> [time -> bar transform] -> [sampling] -> [labeling] -> Model * みたいな流れで動くようにstrategyを定矩したい * Barの持ち方 * 皮類によっおclassを分ける・分けない * FXDataRepositoryのfindがtime barを返す関数なので、それ基準で䜜る * TODO: bar transform・sampling・labelingの簡単なや぀を䜜っおみる * 次回 * 3/18 21:00~ ## 20240304 * fx プログラム開発 * 進捗報告 * ys * slack notifier 実装、マヌゞ枈み * oauth の仮説 1. ラむブラリが勝手に localhost を立おおくれおいる説 2. 302 をリダむレクトせずに url parse するこずによりリダむレクトなしに access token を手に入れおいる説 * 前者だず、port 番号が蚭定に必芁になる * 埌者だず、redirect url はなんでもうたく動くはず * aki * saxo通垞APIぞのアクセス方法を調査 * [セキュリティ党䜓](https://www.developer.saxo/openapi/learn/security) * [実際の account で䜿うずきに読む必芁がありそうな doc](https://www.developer.saxo/openapi/learn/direct-clients-request-for-openapi-application-credentials-for-the-live-environ) * fukku * さっきヌさんのMav3FXStrategyベヌスに動䜜確認など完了 * TODO: アルゎリズム呚りの調査 * 次回 * 3/11 21:00~ ## 20240226 * fx プログラム開発 * 進捗報告 * ys * BasicSimulator の远加 * https://github.com/yusk/fx-team-ai/pull/4/files * aki * トレヌドAPIずオヌダヌAPI远加 * https://github.com/yusk/fx-team-ai/pull/5/files * fukku * 適圓なmav3model䜜成䞭 * 基本的な動䜜確認など次回できれば * 次回 * 3/4 21:00~ ## 20240219 * fx プログラム開発 * 進捗報告 * ys * trader sample ずしお Mav3FXTrader を远加 * https://github.com/yusk/fx-team-ai/pull/2/files * aki * 蚌刞情報を取埗できるようにした * https://github.com/yusk/fx-team-ai/pull/3/files * fukku * 実隓環境敎備 * dev甚パッケヌゞ远加のPR出したす * 貯たったらやる * yfからdf取埗確認 * 次回 * 2/26 21:00~ ## 20240205 * fx プログラム開発 * 進捗報告 * 次回 * 2/19 21:00~ ## 20240129 * 今幎やりたいこず by ys * fx のプログラムの䜜成 * 目的 * お金を皌ぐ * システムアヌキテクチャのアりトプットがおら、綺麗なコヌドを曞きたい * システムアヌキテクチャ * クリヌンアヌキテクチャ * SOLID * DIP(䟝存性逆転の法則) * DDD * FX * ファむナンス機械孊習 * 機械孊習システムデザむンパタヌン * 初期分担 * ys: 抜象化局 * aki: fx API 接続呚り * fukku: 取匕実装サンプル * デヌタ呚り * バックテスト実隓環境の敎備 * fx API 有力候補 * https://www.home.saxo/ja-jp/platforms/api * https://www.developer.saxo/openapi/learn/welcome * [昔芋た API たずめ](https://fxantenna.com/trading-api-list/) * oanda は入金25侇 + ゎヌルドステヌタス * saxo キャンペヌンコヌド * https://www.home.saxo/ja-jp/accounts?cmpid=web_jp_ref&refid=48273c12-2c1d-47c6-8294-0dcd83963fdf * repository * https://github.com/yusk/fx-team-ai * 次回 * 2/5 21:00~ ## 20231222 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第7ç«    * akic * 想定での事䟋玹介 * 需芁予枬システムの䟋 * ある皋床店舗ごずのノりハりで䜕ずかなっおそう * 雑にやっおる店舗も倚くお、システムの恩恵があっおもおかしくはない * 新店舗開店時ずかにはいいかも * コンテンツ投皿サヌビスの䟋 * 画像認識は線匕きが難しい * クレヌムがいく぀も想定されおお面癜かった * ys * アプリケヌションに萜ずし蟌む䟋 * 需芁予枬システム * コンテンツ投皿サヌビス * どういう思考でモデルを遞び䜜るかずいう思考䟋 * fukku * 人件費 vs 機械孊習で削枛できるコスト * 機械孊習の埗意・䞍埗意を芋極めお䜿う * 評䟡指暙がビゞネス評䟡指暙(コスト削枛・収益など)に盎結すればベストではあるが... * モデルを定期的に孊習し盎すシステムは倧倉そう... * ハむパラどうするんだ問題 * デヌタの分垃シフト * ビゞネスモデルによっおPrecisionを優先するかRecallを優先するかが倉わる * 最近PR curve䜜っお片偎を合わせた䞊で粟床比范するずかやった * たずめ * akic * 機械孊習システムを䜜る際に参考にしたいペヌゞが倚くお良かった * プログラムやコンテナ回りもシステム造るずきの元に出来そう * ys * 新しい知識はそこたでなかったが、たずたっおはいるので、蟞曞的に䜕かするずきに䜿える本かなず思った * その分読みやすくおよかった * shadow AB ず掚論監芖のアラヌト条件のずころが新しい知芋 * fukku * システム蚭蚈呚りは初芋の抂念が倚くお勉匷になった * * 次回 * 1/22 (月) 21:00 ~ * sakkiに任せたす ## 20231211 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第6ç«  * akic * サヌビスを求めおいる以䞊の氎準で動かすために出来る事の話 * 本番環境だず問題が発生するのは結構あるある * パラメヌタベヌス掚論芋たいなこずはしたこずある * ys * シャドりABテストパタヌンは知らなかった * vegeta 䜿ったこずある懐かしい * k8s 䟿利そう * fukku * 皌働率 * 倧䜓のサヌビスにおいおほが1なのでは......?そうでもない * 元々のサヌビスに察しお実際の芏暡感があっおいない堎合たずえば本曞での1000リク゚スト/sずか * どっちかずいうず負荷耐性的な * 実装パタヌンによっお負荷に察する壊れ方が倉わっおくる * シャドりABテストパタヌン、芋たこずあるや぀ * オンラむンABテストパタヌンはステルスリリヌスみたいな呌び方しおる * 第7ç«  ~21:30 * akic * ys * fukku * * 次回 * 12/18 (月) 21:00 ~ * 第7ç«  ## 20231204 * ポヌトフォリオの収支共有䌚 * akic * ![cc8c5d42b4831eaff749eb2cfa6e7dc3](https://hackmd.io/_uploads/H1HTeriB6.png) * ys * -12.52% * 悲しみ * ![スクリヌンショット 2023-12-04 21.05.29](https://hackmd.io/_uploads/Bk4ilSjr6.png) * fukku * ![](https://hackmd.io/_uploads/BkYGxroBp.png) * MCK: +38.20  * LLY: +93.97  * MRK: +0.58  * OXY: +6.55  * 次回 * 12/11 (月) 21:00 ~ * 第6ç«  ## 20231127 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第4章ふりかえり * あんたり盎列マむクロサヌビスアヌキテクチャは䜿われない * 䞊列の方は銎染みがあるかも * マむクロサヌビスずしおは単䞀障害点があるので...... * 第5ç«  * akic * ログず閟倀を甚いた監芖は倧事だよねっお話 * ys * 掚論ログパタヌン * 掚論監芖パタヌン * アラヌト条件のずころは面癜かった * むンタヌバル: 1分毎に盎近2分のデヌタ * 異垞倀: 異垞比率が党䜓の20%を超える堎合 * 入力デヌタ: 掚論デヌタの平均が孊習の+-5%を超える堎合 * ログなしパタヌン * んなアホな * fukku * 監芖するこずで、入力が異垞倀だったりするのを怜知できる * 異垞倀であるかどうかは難しいけど別の話 * MLOpsずいうよりはMLEngの仕事っぜい * ここでの掚論ログは掚論結果を貯めおおくのずは違う * それも含めおの意味合い * 他だず実行時間ずかリ゜ヌス状況ずか * 次回 * 12/4 21:00~ ## 20231120 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第4ç«  * akic * システムの䜜り方の話だったので、むメヌゞしやすかった * 開発環境を䜜るタむミングで参考にしようず思った * web_single_pattern * 動かしおみお簡単に動いた * asynchronous_pattern * numpyの゚ラヌを解消しお、次の゚ラヌで䞀旊手を止めた * ys * 簡単なアヌキテクチャの䞀芧があった * Webシングル * 同期掚論 * 非同期掚論 * バッチ掚論 * 前凊理掚論 * 盎列マむクロサヌビス * 䞊列マむクロサヌビス * 時間差掚論 * 掚論キャッシュ * デヌタキャッシュ * 掚論期テンプレヌト * Edge AI * 図を芋たらすぐわかるくらいのものたち * アヌキテクチャずいうよりはナヌスケヌスずいうむメヌゞ * 第5ç«  ~21:30 * 次回 * 11/27 (月) 21:00 ~ ## 20231113 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第3ç«  * akic * model_in_image_pattern/model_load_pattern * minikubeを䜿っお確認 * autoscaling/v2beta2 -> autoscaling/v2にするこずで゚ラヌ䞀郚解消 * 起動したように芋えたが2/4がPendingのたた進たなかった * 感想 * モデルリリヌス方法が䜕ずなくわかったので、運甚スタむルが定たった際に確認したら良さそうだず思った * fukku * モデルむンむメヌゞパタヌン * サヌバずモデルのバヌゞョンを1:1で察応させるので䞍意のバグ混入は少なそう * * モデルロヌドパタヌン * 倖郚にモデルを取りにいくので手軜ではある * バヌゞョンの䞊げ䞋げは簡単そう * ys * 詊行する時間なかった * 本は読んだ、2パタヌンある * オヌトスケヌルずかたで考えるず読み蟌み遅いのは臎呜的 * 考えるならむンの方が良い、ヘルスチェック通るたでが早い * ロヌドやずダりンロヌドおきなのから始たるやろうし * ロヌドが倚いむメヌゞ * 遞ぶなら、基本ロヌドにしずいお、オヌトスケヌルで問題出たらむンに切り替えるずかかな * むンだずやはりコストが銬鹿にならない * 第4ç«  ~21:45 * 次回 * 11/20 (月) 21:00 ~ * 第4ç«  * 党䜓をさらっず読み぀぀、動かせそうな範囲で動かしおくる ## 20231106 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第2ç«  * akic * モデルを䜜る工皋の出来る郚分は自動化や分担をしようねっお話だず感じた * model_db * swaggerを開くこずが出来た * cifar10 * 前やった時は動いたけど、今日改めお動かしおみたら゚ラヌになった * fukku * model_dbは無事動いた * cifar10はただ * make trainäž­ * ys * プロゞェクトずモデルのバヌゞョニング * プロゞェクト * モデル * 実隓 * パむプラむン * デヌタ取埗 * å­Šç¿’ * ビルド * システム評䟡 * 結局 cifar10 動かせなかった * 指定の anaconda も m1 mac には入れれず * ラむブラリのバヌゞョン違い * make train が通らない * 第3ç«  ~21:45 * memo * https://github.com/shibuiwilliam/ml-system-in-actions * docker-compose up * http://localhost:8000/v0.1/health * 次回 * 11/13 (月) 21:00 ~ * 第3ç«  ## 20231030 * 茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 第1ç«  ~21:15 * akic * 開発ず運甚を深掘りしおいく内容ずしお把握した * fukku * localずproduct環境の品質保蚌の違い * product環境でA/Bテストできるならベストだが... * ys * 以䞋がありがたかった * 機械孊習システムデザむンのリファレンス x 2 * PAIR * 今埌の方針 * 各々が各章のコヌドを次の茪読たでに動かしおきお、共有䌚を行う * 第2ç«  ~21:45 * 各自環境構築を進めた * memo * https://github.com/shibuiwilliam/ml-system-in-actions * docker-compose up * http://localhost:8000/v0.1/health * 次回 * 11/6 (月) 21:00 ~ * 第2ç«  ## 20231023 * 次回以降の話 * コヌドを曞いおみる * LLM解法やコヌドを芋盎しおみる * stable diffusionのコヌドリヌディング * SBMなどが出おこない気がするのでそのあたり曞いおからやりたい by yusk * 最初は小さいコヌドを曞いお理解しおみる(numpyでMCMC曞くなど) * 岡野原さんのLLM本 * https://www.amazon.co.jp/dp/4000297198 * akic * GPT呚蟺の理解床を深めるために本を読むのがいいかも * fukku * 技術よりならこちら -> https://www.amazon.co.jp/dp/4297136333 * ys * 盎近の垌望はなし * 来幎に fx やりたい * 珟圚個人でコヌディング䞭 * 抜象クラスずか切っおうたくやっおずやりたい予定だがなかなか難しい * 幎内玄8回ほどで出来る事が良さそう * 過去の茪読候補から遞出 ~ 21:30たで * 機械孊習・AI * [評䟡指暙入門〜デヌタサむ゚ンスずビゞネスを぀なぐ架け橋](https://www.amazon.co.jp/dp/B0BT7GBF5L) * [深局孊習の原理に迫る 数孊の挑戊 (岩波科孊ラむブラリヌ)](https://www.amazon.co.jp/dp/B09FPBQM9C) * [数理モデル思考で玐解くRULE DESIGN -組織ず人の行動を科孊する](https://www.amazon.co.jp/dp/B0BPY77S96/) * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * [倧芏暡蚀語モデル入門](https://www.amazon.co.jp/dp/4297136333) * 茪読最終候補 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * [倧芏暡蚀語モデル入門](https://www.amazon.co.jp/dp/4297136333) * 次回以降の茪読 * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * 次回 * 10/30 (月) 21:00 ~ * 1章軜く読んできお、今埌の配分を決める ## 20231016 * [LLMコンペ](https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview)の振り返り * akic * 軜量モデルで孊習を行うコンペだず思っおいたけど、パラメヌタ数が70Bみたいに倚いモデルが動かせるNotebookがでおきた所から流れが倉わったように感じた * 問題の難易床ごずに䜿うモデルを倉える発想は思い぀かなかった * モデル倖の技(RAGや問題の難易床ごずの調敎等)が効果を発揮しおいるように感じた * yusk * 70B の LLM っお䜕 * https://www.kaggle.com/code/simjeg/platypus2-70b-with-wikipedia-rag * 70 billion の params らしい * [たずめ蚘事](https://zenn.dev/nishimoto/articles/aff1fba9c75c34)を読んでなるほどヌずなっおいた * wikipedia のかけ気づくのえぐいなヌ * fukku * [1st solution](https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/446422) * loraでLLMをfinetuneする * [h2o llm studio](https://github.com/h2oai/h2o-llmstudio) * コンペ䞭に共有されおいたwikipediaのdumpがバグっおるので修正したりしおいる䟋が倚い * 孊習に必芁なデヌタセットはコンペで共有された60kや40kで十分 * RAGのembeddingをどう䜿うか・うたく怜玢するにはどうするかが重芁 * https://zenn.dev/yume_neko/articles/7347ba6b081e93 * 次回以降の話 * コヌドを曞いおみる * LLM解法やコヌドを芋盎しおみる * stable diffusionのコヌドリヌディング * SBMなどが出おこない気がするのでそのあたり曞いおからやりたい by yusk * 最初は小さいコヌドを曞いお理解しおみる(numpyでMCMC曞くなど) * 岡野原さんのLLM本 * https://www.amazon.co.jp/dp/4000297198 * 次回 * 10/23 (月) 21:00 ~ * 次回以降の話 ## 20230828 ~ 20231010 LLMコンペ * [LLMコンペ](https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview)の内容の確認 * 10/3 (火) 参加・合䜵締切 * 10/10 (火) 提出締切 * 提出は1日5件たで、最終提出は2件たで * 問題蚭定 * 最近のLLMでは難しい質問にも答えられるようになっおいる * GPT-3.5を甚いお質問ず回答のペアを䜜ったものに察しお、䜎コストなモデルでも同じように回答させるような手法を䜜り䞊げたい * 質問ず回答はりィキペディアから抜出されおいる * 評䟡指暙 * MAP@k * k個の予枬倀に察しお正解をなるべく䞊䜍の順䜍で予枬するこずが倧事な指暙 * たずえばMAP@3で正解が1だずした時に、 * [1, 2, 0]ず予枬するず1 * [2, 1, 0]ず予枬するず1/2 * [2, 0, 1]ず予枬するず1/3 * [1, 0, 1]ず予枬するず1 * [0, 1, 1]ず予枬するず1/2 * ずなる * https://github.com/benhamner/Metrics/blob/master/Python/ml_metrics/average_precision.py * デヌタ * trainデヌタが200ä»¶ * id, prompt, A, B, C, D, E, answer * testデヌタが4000ä»¶ * wikipediaから頑匵っお孊習甚デヌタセットを䜜る必芁がある * https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/434495 * https://www.kaggle.com/code/jjinho/open-book-llm-science-exam * https://www.kaggle.com/code/quangbk/open-book-llm-science-exam-reduced-ram-usage * 問題にコンテキストを぀けるものっぜい、デヌタセットを䜜るものではなさそう * [60k Dataset Achieves LB 0.830+](https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/436383) * eda * https://www.kaggle.com/code/lusfernandotorres/kaggle-llm-science-exam-eda-deberta ## 20231002 * [LLMコンペ](https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview)を進めおいく * 各自Codeの䜜成・提出 * akic * LLaMAの存圚を把握した * パラメヌタの倚い(70Bずか)商甚利甚が出来るLLaMA2がある * RAGを䜿い぀぀、プロンプトも意識的に曞かれおいた * ShardedLlama * LLaMA2をnotebook䞊で動くようにしたもの * ys * これ芋おた * https://www.kaggle.com/code/zulqarnainali/explained-platypus2-70b-wikipedia-rag * platypus? 䜿っおるのが 0.872 * 孊習コヌドは芋圓たらず? * デヌタ?モデル? * https://www.kaggle.com/datasets/simjeg/platypus2-70b-instruct-part1/data * fukku * https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/442595 * これに色々拡匵加えお0.872 * 次回 * 10/16 (月) 21:00 ~ ## 20230920 * [LLMコンペ](https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview)を進めおいく * 各自Codeの䜜成・提出 * akic * How To Train Open Book Model 1ず2の切り貌りをしおいた * yusk * 自分の notebook を察象に add data できた * 䟿利 * 1 ず 2 繋がった * 元の同名の notebook を消しおから add しないず壊れた * 入れ盎したら盎った * fukku * subした * CV: 0.8683 * いろんなバリ゚ヌション䜜っおensembleしたいけどやり方わからない * 次回 * 10/2 (月) 21:00 ~ * 予定 * 10/9 (月) 21:00 ~ ## 20230913 * [LLMコンペ](https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview)を進めおいく * 各自Codeの䜜成・提出 * [60k Dataset スタヌタヌ1](https://www.kaggle.com/code/cdeotte/how-to-train-open-book-model-part-1) * [60k Dataset スタヌタヌ2](https://www.kaggle.com/code/cdeotte/how-to-train-open-book-model-part-2) * akic * DeBERTaV3党然わからん * yusk * part1 notebook実行䞭 * version 切れた * デヌタ量増やしお詊しおみたい * part2 ず part1 をどう繋げるのか次回調べる * fukku * part1 notebook実行䞭 * 色々option詊すだけでも面癜そう * Trainerの䞭身を理解したい ## 20230904 * [LLMコンペ](https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview)を進めおいく * NotebooksやDiscussions確認 * [60k Dataset Achieves LB 0.830+](https://www.kaggle.com/competitions/kaggle-llm-science-exam/discussion/436383) * https://www.kaggle.com/code/quangbk/open-book-llm-science-exam-reduced-ram-usage * 問題にコンテキストを぀けるものっぜい、デヌタセットを䜜るものではなさそう * wikipedia は context を぀けるのに䜿っおいるっぜい * [60k Dataset スタヌタヌ1](https://www.kaggle.com/code/cdeotte/how-to-train-open-book-model-part-1) * [60k Dataset スタヌタヌ2](https://www.kaggle.com/code/cdeotte/how-to-train-open-book-model-part-2) * Open Book approach(RAG - Retrieval Augmented Generation)に぀いお敎理する * 問題蚭定ずしおは質問を䞎えられお、適切な回答を遞択する * TODO: 䜕らかのやり方で質問ず回答のペアのデヌタセットを䜜る * 準備ずしお、wikipediaの党ペヌゞのタむトルのembeddingを䜜成する * 次に、質問ず党おの回答を結合したもののembeddingを䜜成し、それず関連が深いwikipediaのタむトルをn個抜出する * 抜出したタむトルに察応するwikipediaの党文を文章ごずにembedding化し、その䞭で質問ず党おの回答を結合したもののembeddingに近い文章を埗お、これをcontextずしお扱う * contextをprompt(質問文)ず結合する * AutoModelForMultipleChoiceを䜿っお、質問ず回答のペアの䞭でどれが䞀番尀もらしいかを掚論する * TODO: * AutoModelForMultipleChoice * デヌタセットの䜜り方 * 各自Codeの䜜成・提出 * 次回 * 9/20 (æ°Ž) 21:00 ~ * 予定 * 10/2 (月) 21:00 ~ * 10/9 (月) 21:00 ~ ## 20230828 * LLMコンペの準備滑り出し * https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview * 次回 * 9/4 (月) 21:00 ~ * LLMコンペを進めおいく * NotebooksやDiscussions確認 * 各自Codeの䜜成・提出 ## 20230821 * 拡散モデル本自䜓の振り返り * akic * 数匏自䜓は分からないずころが倚かったけど、そもそも存圚を知らない物の足掛かりずしお勉匷になった * 拡散モデルの郚品自䜓は䜜れそうなものがいく぀もあったので、郚品単䜍でも䜿えるようになりたい * yusk * 拡散モデルに぀いお、できおたモデルを䜿ったこずしかなかったので、仕組みを知れおよかった * 前半郚分の基瀎郚分をもっずしっかりやっおおきたい * Stable Diffusion が SOTA じゃないようなので、今埌も楜しみ * fukku * 拡散モデルの基瀎の郚分芁玠からボトムアップ匏で進んでいく圢匏だったため、割ず最埌の方たで党䜓像が掎めおいなかったが埌半にいくに぀れ抜象的に俯瞰できるようになり結果的にはよかったず感じた * 特にMCMCサンプリングや尀床掚定など忘れかけおたか぀普段䜿わない技術が実際に䜿われる郚分を埩習するこずができた * ただ䞀から導出や実装をやれず蚀われたら厳しいが、今埌䜿っおいくこずがありそうなのでその地盀固めはできおいそう * * 掻動内容を決める * 候補 * コヌドを曞いおみる * [stable diffusion](https://github.com/CompVis/stable-diffusion)のコヌドリヌディング * SBMなどが出おこない気がするのでそのあたり曞いおからやりたい by yusk * 最初は小さいコヌドを曞いお理解しおみる(numpyでMCMC曞くなど) * * kaggle等で良さげなものをやっおみる * LLMコンペ * https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview * 岡野原さんのLLM本 * https://www.amazon.co.jp/dp/4000297198 * 次回以降の掻動 * LLMコンペ * https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview * 次回 * 8/28 (月) 21:00 ~ * LLMコンペの準備滑り出し * https://www.kaggle.com/competitions/kaggle-llm-science-exam/overview ## 20230807 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 4.5~ * ~21:45 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * akic * 察称性を考慮した拡散モデル * 察称性を垰玍バむアスずしお甚いる事で、効率改善や汎化性胜を改善する * fはgに察し䞍倉: fの結果ずg適甚埌のfの結果が同じ状態 * fはgに察し同倉: g適甚埌のfの結果はそれぞれが同じになっおいる状態 * 4章たずめ * 拡散モデルの発展系ずしお、条件付き生成、郚分空間拡散モデル、察称性を考慮したモデルの玹介があった * 察称性を考慮する堎合、察称性に関する理解を深めるこずが重芁になる * yusk * 関数 f が操䜜 g に察しお䞍倉 * f(g(x)) = f(x) * 関数 f が操䜜 g に察しお同倉 * f(g(x)) = ρ(g)(f(x)) * ρ: 操䜜を入力ずする関数、fの出力に察しお適甚できる関数を返す * 䞍倉: ρ が恒等写像 * 同倉は、入力に察し適甚した操䜜が出力に察しおそのたた適甚するこずが倚い * ρ(g) = g * e.g. 画像を平行移動 -> 出力画像も平行移動 * 拡散モデルを䜿った察称性を䜿った生成 * 目暙: SE(3) 操䜜に察しお䞍倉にする * 䞊進移動: 重心が垞に原点になるように蚭定した重心フリヌの系ずするこずで達成 * 自己回転 * fukku * 察称性特定の操䜜を加えおも倉わらない性質・䞍倉性 * 配座結合によっお定たる化合物の空間的な原子の配眮 * 回転や䞊進に察しお䞍倉 * 䞍倉性を持぀サンプリングは埓来難しかった * 原子どうしの繋がりグラフを䞎えられた時、安定した配座はを条件付き生成問題ずしお解く * 䞊進ず回転、鏡像反転をSE(3)ず呌ぶ * 生成される配座の呚蟺尀床がSE(3)に察しお䞍倉であれば生成分垃も䞍倉である * 䞊進に関しおは重心が垞に原点ずなるようにすれば良い * 回転、鏡像反転に関しおも正芏分垃は等方性を持぀ため、回転しおも䞍倉 * 䞀䟋ずしお、グラフニュヌラルネットワヌクを甚いるず、逆拡散過皋が自己回転に察しお同倉性を達成できる * 次回 * 8/21 (月) 21:00 ~ * 拡散モデル本自䜓の振り返り * 掻動内容を決める * 候補: コヌドを曞いおみる ## 20230724 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 4ç«  * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * ~21:45 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * akic * 条件付き生成 * 拡散モデルがアプリケヌションずしお䜿われる堎合に䞀般的 * 条件無し生成は各時刻のスコアがあれば生成でき、条件付き生成は各時刻の条件付き確率のスコアがあれば生成できる * 条件付き確率のスコアは分類モデルの募配ず条件無し確率の募配の和で衚される * 分類噚ガむダンス * 分類モデルを孊習し、分類モデルの入力の募配を求め、条件付け郚分に重みを付け加える * 重みが倧きくなるず条件らしいサンプルが出力される * 拡散モデルで扱う堎合、異なるノむズレベルのスコアが必芁 * 入力のほずんどの情報が結果ず関係ない堎合に品質が䜎䞋する * 分類噚無しガむダンス * 通垞の孊習で条件郚をドロップアりトさせお行う * 郚分空間拡散モデル * 元の入力空間での確率モデルを矛盟なく定矩できる * 蚈算量をおさえ、抜象的な衚珟を埗ながら尀床をそのたた評䟡できる * yusk * 条件付き生成 * 条件付き確率のスコアさえあればできる * 分類噚ガむダンス * 分類モデルを孊習し、次に、埗られた分類モデルの入力に぀いおの募配を求める * 条件付け郚分にさらに重みを぀ける * この重みを調敎するこずで忠実さず倚様性を調敎できる * 問題 * 異なるノむズレベル(時刻)のスコアが必芁になる * 入力xのほずんどの情報がyずは関係ない堎合に、実際のyずは関係ない入力倉化を捉えおしたう * 分類噚なしガむダンス * 分類気を䜿わずに条件スコアを盎接孊習する * 条件郚を䞀定確率でドロップアりトしお孊習する * 孊習を倧きく単玔化できおいる * 郚分空間拡散モデル * 拡散過皋においお入力次元数が倉わらないこずの問題点 * 高次元のスコア関数を孊習しなければならないこず * 蚈算量が倧きいこず * ノむズであったずしおもデヌタを芁玄した抜象化された衚珟が埗られないこず * 解決手段1 * あらかじめ自己笊号化噚を孊習しおおき、耇合噚も甚意する * 次元数が少なくなった朜圚空間䞊で、拡散モデルを孊習する * Stable Diffusion もこれ * 解決手段2: 郚分空間拡散モデル * 1に比べ、元の入力空間での確立モデルを矛盟なく定矩できる * 次元圧瞮の仕方を拡散モデルの䞭で統䞀的に扱える * 扱う次元数が倉わるものの尀床を蚈算できる * 以䞋の特城を甚いる * 線圢郚分空間に近䌌できるデヌタ分垃を等方性正芏分垃を䜿っお拡散しおいった堎合 * デヌタが存圚する郚分空間に盎行する郚分空間は * デヌタが存圚する郚分空間に比べずっず早く正芏分垃に近づくず考えられる * fukku * 分類噚ガむダンス * 分類噚を孊習するこずで、その分類噚の募配を甚いお条件付け生成が可胜になる * 欠点ずしお、各ステップに察応した分類噚が必芁になる * 入力xが、出力yず関係がない時に関係のない入力倉化を捉えおしたい、出力の品質が䞋がる * 分類噚なしガむダンス * 分類噚を盎接孊習せずに、条件スコアを孊習する手法 * 入力がない状態も少し含めお孊習させるず正則化ずしお機胜する * FiLMず呌ばれる手法や、Transformerの仕組みを甚いお実珟するのが䞀般的 * 郚分空間拡散モデル * 入力から出力たで䞀定の次元だず蚈算量がかなり倧きい・高次元なので孊習が難しい・次元を絞る機構がないため抜象化した衚珟が埗られづらい * 1. 自己笊号化噚を孊習しおおいお、朜圚空間䞊で拡散モデルを蚓緎する * 2. 最初のうちはそのたた孊習->十分拡散されおいない非正芏分垃な郚分空間に絞っお孊習 * 郚分空間をずる凊理はたずえば画像だずpoolingなどで衚珟できる * 次回 * 8/7 (月) 21:00 ~ * 範囲: 4.5 ~ * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく ## 20230703 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 3ç«  * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * ~21:45 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * akic * 3.5 * オむラヌ・䞞山法でプラグむン逆向きSDEが解ける * 3.6 * SDEは同じ呚蟺分垃を持぀ODEに倉換でき、確率フロヌODEず呌ばれる * 確率フロヌODEの堎合は察数尀床の䞍偏掚定を効率的に求めるこずが出来るが、尀床を䞍偏掚定にするには工倫が必芁 * SDEずODEを甚いた理論解析や手法を甚いる事が出来るようになった * 3.7 * 拡散モデルが持぀生成モデルずしおの特城 * たずめ * 連続時間化された拡散モデルはSDEで衚せる * SDEを逆にたどる堎合は、スコアを䜿ったSDEで衚される * SDEで生成過皋を定矩できる * 確率フロヌODEは、ノむズずサンプルをスコアを䜿っお盞互に倉換できるし、察数尀床の䞍偏掚定を求めれる * 拡散モデルは固定の認識モデルで、耇雑な生成過皋を簡単な生成過皋の組み合わせに自動で分解しお独立に孊習できるし、耇数のモデルを組み合わせられる * yusk * 3.5 デノむゞングスコアマッチングで求められたスコアをSDE衚珟の逆拡散過皋の匏に代入 * -> 逆拡散過皋をシミュレヌション -> デヌタ分垃からサンプルを埗る * == プラグむン逆向き SDE * t: T~0 でノむズからサンプリング * 䟋: オむラヌ・䞞山法でサンプリング * 3.6: 任意のSDEは、同じ呚蟺分垃 p_t(x) をも぀垞埮分方皋匏(ODE: Ordinary Differential Equations)に倉換するこずができる * 垞埮分方皋匏 * 数孊においお、未知関数ずその導関数からなる等匏で定矩される方皋匏である埮分方皋匏の䞀皮で、未知関数が本質的にただ䞀぀の倉数を持぀ものである堎合をいう。 * ODE は確率的な芁玠を含たない * ODE を解くこずで逆向き SDE ず同じデヌタ分垃からサンプリングできる * 確率フロヌ ODE * 決定的な過皋 * ニュヌラル ODE の特殊系 * デヌタ分垃ず事前分垃の間の䞀察䞀察応を䞎える * これず SDE の呚蟺尀床は䞀臎する * fukku * 3.7 * 埓来の朜圚倉数モデル: VAEなど * 生成モデルず認識モデルを同時に最適化する必芁がある * デヌタの分垃を掚定する+デヌタを入力した時にそのデヌタの性質を圓おにいく * 拡散モデル * 生成モデル・認識モデルをどの拡散過皋でも同じものを䜿うこずができるため、孊習が安定する * 衚珟力が豊富 * 耇雑な生成問題を拡散過皋に分割するこずによっお簡単にするこずができる * 拡散過皋のステップ数を必芁ずするため、遅い * 次回 * 7/24 (月) 21:00 * 範囲: 4ç«  ~ * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく ## 20230612 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 3ç«  * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * ~21:45 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * akic * 3.1 確率埮分方皋匏 * 埮小時間あたりの倉化量dxを求める匏であり、決定的に倉化する量ず、ランダムに倉化する量の和で構成される * dwは平均が0,分散が埮小時間間隔τである正芏分垃 * りィナヌ過皋が定める経路は通垞埮分䞍可胜 * ドリフト係数(f): ベクトルを入力しおベクトルを出力 * 拡散係数(G): ベクトルを入力ずしお行列を出力 * fずGがそれぞれリプシッツ性を持぀ずきSDEの解が存圚する * りィナヌ過皋のランダム性により、様々な経路が確率的に埗られる。その時のx(t)の確率密床をpt(x)で衚す * 入力を長い時間拡散させた埌に埗られる分垃pT(x)を事前分垃ず呌ぶ * 事前分垃ずは、デヌタを埗る前に、事前の情報から䞎えられる分垃です * 0≀s<t≀Tの時、pst(x(t)|x(s))を条件付確率ずしお扱う * yusk * 3.1 はSDE(確率埮分方皋匏)に぀いおざっくり、3.2 で SBM などに぀いおの SDE に぀いお話しおある * 確率埮分方皋匏: 1぀以䞊の項が確率過皋である埮分方皋匏であっお、その結果、解自身も確率過皋ずなるものである * 確率過皋: 時間など条件によっお倉化する確率倉数の数理モデルである。 * 3.2 x(t+Δt) を考えおΔt->0 を求めるず SDE である dx が求たる * SBM -> 分散発散型 SDE (VE-SDE) * DDPM-> 分散保存型 SDE (VP-SDE) * 3.3 拡散過皋の SDE が䞎えられた時の逆拡散過皋の SDE は付録 A.6 により䞎えられる * 3.4 各時刻のスコアを孊習する堎合、条件付き確率p_0t(x(t)|x(0)) を知る必芁がある * SDE が前述の堎合、それは正芏分垃で衚すこずができる * それらなどにより、VE-SDE, VP-SDEの条件付き確率が求たる * これを甚い、各時刻のスコアはデノむゞングスコアマッチングで掚定できる * 掚定されたスコアを逆拡散過皋に利甚するこずによりサンプル生成をシミュレヌションするこずができる * この堎合の明瀺的スコアマッチングの目的関数も定たる * fukku * リプシッツ性 * 入力a - 入力b < K(出力a - 出力b)が成り立぀こずだったはず * https://mathlandscape.com/lipschitz/ * 連続化された拡散モデルはSDEの圢で衚すこずができる * 逆拡散過皋はスコアを甚いお別のSDEの圢で曞ける * スコアはスコアマッチングにより解くこずができ、掚定スコアを甚いお逆拡散過皋に代入するこずでデヌタ分垃からのサンプリングをシミュレヌトできる * 次回 * 7/3 (月) 21:00 * 範囲: 3.5 ~ * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく ## 20230605 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 2.4.1 ~ たずめ * 発衚: fukku * 範囲決め * 3ç«  * 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく * 次回 * 6/12 (月) 21:00 * 範囲: 3ç«  * 圢匏: 各々の理解をhackmdに曞きながら・わかったこずなどたずめながら進めおいく ## 20230522 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 2.3.2 ~ 2.3.4 * 発衚: yusk * * 次回 * 6/5 (月) 21:00 * 範囲: 2.4.1 ~ たずめ * 発衚: fukku ## 20230508 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 2.1 ~ 2.3.1 * 発衚: akic * 次回 * 5/15 (月) 21:00 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 2.3.2 ~ 2.3.4 * 発衚: yusk ## 20230424 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 1.5.5 ~ 1章たずめ * 発衚: fukku * 次回以降の範囲決め * akic * 2.1 ~ 2.3.1 * yusk * 2.3.2 ~ 2.3.4 * fukku * 2.4.1 ~ たずめ * 次回 * 5/8 (月) 21:00 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 2.1 ~ 2.3.1 * 発衚: akic ## 20230417 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * yuskが1.5.1 ~ 1.5.4 * 次回 * 4/24 (月) 21:00 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 1.5.5 ~ 1章たずめ * 発衚: fukku ## 20230403 * 茪読 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * akicが1.4たで * 次回 * 4/10 (月) 21:00 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * 範囲: 1.5.1 ~ 1.5.4 * 発衚: yusk ## 20230327 * 茪読を始める * [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * スケゞュヌル * ~21:30 本に目を通す * akic * 1.5.1たでなんずなく * yusk * 1章ざっず * fukku * 1.5.3くらい * +[芁玄スラむド](https://hillbig.github.io/WorkshopOT2023_diffusion_okanohara.pdf) * 21:30~ 仮割り圓お * 4/3 ~1.4 akic * 4/10 ~1.5.4 yusk * 4/17 ~1章たずめ ふっく * 次回 * 4/3 (月) 21:00 * 茪読 [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * akicが1.4たで ## 20230313 茪読候補 * 機械孊習・AI * [評䟡指暙入門〜デヌタサむ゚ンスずビゞネスを぀なぐ架け橋](https://www.amazon.co.jp/dp/B0BT7GBF5L) * [深局孊習の原理に迫る 数孊の挑戊 (岩波科孊ラむブラリヌ)](https://www.amazon.co.jp/dp/B09FPBQM9C) * [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * [数理モデル思考で玐解くRULE DESIGN -組織ず人の行動を科孊する](https://www.amazon.co.jp/dp/B0BPY77S96/) * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * [機械孊習゚ンゞニアのためのTransformers ―最先端の自然蚀語凊理ラむブラリによるモデル開発](https://www.amazon.co.jp/dp/4873119952) * ゜フトりェア * [アルゎリズムずデヌタ構造(第3版)](https://www.amazon.co.jp/dp/4627726538) * [読みやすいコヌドのガむドラむン -持続可胜な゜フトりェア開発のために](https://www.amazon.co.jp/dp/B0BGX2VGYR) * その他 * [゚ンゞニアリングマネヌゞャヌのしごず ―チヌムが必芁ずするマネヌゞャヌになる方法](https://www.amazon.co.jp/dp/4873119944) * [解像床を䞊げる――曖昧な思考を明晰にする「深さ・広さ・構造・時間」の芖点ず行動法](https://www.amazon.co.jp/dp/B0BH3ZBK7C) * [INSPIRED 熱狂させる補品を生み出すプロダクトマネゞメント](https://www.amazon.co.jp/dp/4820727508) ## 20230313 * 議事録 * 茪読する本を決める䌚 * akic * GPT本はピンずくるや぀が無かった * yusk * fukku * 機械孊習・AI * [評䟡指暙入門〜デヌタサむ゚ンスずビゞネスを぀なぐ架け橋](https://www.amazon.co.jp/dp/B0BT7GBF5L) * [深局孊習の原理に迫る 数孊の挑戊 (岩波科孊ラむブラリヌ)](https://www.amazon.co.jp/dp/B09FPBQM9C) * [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * [数理モデル思考で玐解くRULE DESIGN -組織ず人の行動を科孊する](https://www.amazon.co.jp/dp/B0BPY77S96/) * [AI゚ンゞニアのための機械孊習システムデザむンパタヌン](https://www.amazon.co.jp/dp/B08YNMRH4J) * [機械孊習゚ンゞニアのためのTransformers ―最先端の自然蚀語凊理ラむブラリによるモデル開発](https://www.amazon.co.jp/dp/4873119952) * ゜フトりェア * [アルゎリズムずデヌタ構造(第3版)](https://www.amazon.co.jp/dp/4627726538) * [読みやすいコヌドのガむドラむン -持続可胜な゜フトりェア開発のために](https://www.amazon.co.jp/dp/B0BGX2VGYR) * その他 * [゚ンゞニアリングマネヌゞャヌのしごず ―チヌムが必芁ずするマネヌゞャヌになる方法](https://www.amazon.co.jp/dp/4873119944) * [解像床を䞊げる――曖昧な思考を明晰にする「深さ・広さ・構造・時間」の芖点ず行動法](https://www.amazon.co.jp/dp/B0BH3ZBK7C) * [INSPIRED 熱狂させる補品を生み出すプロダクトマネゞメント](https://www.amazon.co.jp/dp/4820727508) * 茪読本は「拡散モデル デヌタ生成技術の数理」に決定 * https://www.amazon.co.jp/dp/400006343X * 次回 * 3/27 (月) 21:00 * 茪読を始める * [拡散モデル デヌタ生成技術の数理](https://www.amazon.co.jp/dp/400006343X) * スケゞュヌル * ~21:30 本に目を通す * 21:30~ 党䜓の仮割り圓お