Skip to content

Instantly share code, notes, and snippets.

@progrhyme
Created May 23, 2018 15:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save progrhyme/a117206c839abe24ceeca7a1e98689ad to your computer and use it in GitHub Desktop.
Save progrhyme/a117206c839abe24ceeca7a1e98689ad to your computer and use it in GitHub Desktop.
20180522 Healthtech Meetup #1 Memo

Healthtech Meetup #1 聴講メモ

https://connpass.com/event/85778/

「継続を支える」ライフログの利用と技術 in FiNCアプリ

@qsona

  • 自己紹介
    • Microservices Meetup
  • 予防医療
  • FiNCアプリの基本機能
  • 規模感
    • Microservices
      • 30サービス
    • テーブル数: 〜2,200
  • 行動変容ステージモデル
    • 人が健康のためにどれくらい行動しているか(しようと思っているか)
    • ステージによって、アプローチの仕方は変わる
    • FiNC ... 関心度が低い人にもアプローチ
  • FiNC 10 Principles (継続の原則)
    • ユーザの健康活動を継続させるために、意識すべき項目を定めている
  • フィンクちゃん
  • ライフログの記録①オンボーディング
    • 重要なことを聞く
      • 睡眠時間
    • 端末の許可系
      • 例: iOS
        • モーションとフィットネス
      • これらの許可率は重要なKPI
  • ライフログの記録②入力の自動化・予測
    • 利便性のため、入力の負担を極力軽減したい
    • 例:
      • 歩数を端末の情報から取得
      • 睡眠時間を予測
      • 食事投稿からカロリーを推定
  • ライフログの利用
    • ユーザの健康活動を継続させるための、様々な機能
      • Encouragement: FiNCちゃんのpush/起動時出現
      • Incentivization: ポイントがもらえる
      • :
  • ライフログの周辺技術
  • 機械学習
    • FiNCで特に力を入れている技術の1つ
    • AIエンジニアとサービスエンジニアが協力して取り組んでいる
    • インテグレーションが大事
  • 睡眠予測
    • オンボーディングで睡眠時間を聞く
    • 歩数のデータを使い、睡眠時間を予測
    • push通知を送り、ユーザに睡眠時間を修正
    • 過去の修正履歴から統計的に予測
  • 姿勢分析
    • 正面と横からの2枚の写真を撮って分析
  • 食事分析
    • 投稿画像からカロリーを推定
  • 機械学習とサービス
    • サービスとのインテグレーション方法やエンジニアの関わり方は事例によって異なる
    • 簡単なもの
      • Dockerで
  • サービス連携
    • ライフログ入力を起点にして、FiNC内の様々な機能(Microservice)が連携する
  • 例: 歩数ポイント
    • ポイント: FiNCモールで1pt=1円で利用できる
    • その日の歩数の閾値が一定を超えると、push通知が来る
    • その日FiNCアプリにログインしていたらポイント獲得
  • サービス構成
    • 4サービスが関係
    • Lifelog
    • FiNC Chan
    • Point
    • Payment
  • SoRとSoE
    • SoR(record) ... Point, Payment, Lifelog
    • SoE
  • 高頻度にデプロイするサービスと安定性を求めるものを分けたい
  • イベント連携
    • ポイント付与
  • サービス間の非同期イベント連携
    • AWS SNS / SQS
    • Rails - shoryuken
  • 歩数の非同期イベント
    • 歩数イベント(毎回)
      • ユーザの送信ごとに送る
      • 数が多い
      • 対策: 送信側でバッファリング
        • Redisとか使う
    • 歩数イベント(閾値)
      • 例: 500歩ごとに送信
      • 実装
  • 歩数は量が多くて難しい

AI x 創薬の最近の研究動向

望月さん@DeNA

  • 自己紹介
    • 分子生物学・生化学 博士
    • AIシステム部
  • アジェンダ
    • AI x 創薬
  • 創薬とは何か?
    • 新薬を開発する
      • 創薬標的の探索
      • ヒット化合物の探索
      • :
      • 臨床試験
    • 10年以上かかる
    • AIで費用と期間を削減したい
  • AIとは何か
    • AI ⊃ 機械学習 ⊃ ディープラーニング
  • 創薬におけるAIの応用例のいろいろ
    • 論文をデータに
      • 例) p53をリン酸化する新たなキナーゼ
    • 遺伝子発現データ
      • 例) 薬剤投与時のそれを用いた深層学習で化合物の薬理活性を予測
    • 化合物から
      • 例) ★化合物の構造を学習して創薬につなげる
  • 化合物の機械学習の歴史
    • '64: ハンシュ・藤田法によるQSAR
      • 研究者が論理的に組み立てた数式 ≠ 機械学習
    • '90年代ぐらい〜現在: Fingerprintを使った機械学習
      • Fingerprint ... 化合物の特徴を表現したベクトルを使った学習
    • '12: KaggleのMerck Molecular Activity Challengeで深層学習を使ったチームが優勝
  • 画像認識技術における機械学習技術の進歩
    • 従来の機械学習
      • 特徴量生成
    • 深層学習 ... 特徴量生成を省略
  • Fingerprintに依存しない機械学習①: Graph Convolutionによる学習
    • グラフの局所的構造を捉えるための技術graph convolutionが開発された
  • ②SMILES文字列からの学習
    • SMILESとは構造式を1次元の文字列に落とし込む表記方法
    • 化合物を文字列に変換してしまえば、すでに確立されている自然言語処理の手法を適用できる
    • Jastrzebskらは文書の感情分析を適用
  • SMILES文字列を介した構造生成
    • 文章を生成する技術を応用し、化合物の構造生成を実現
    • 薬になることがわかっている化合物にノイズを加えて新たな化合物を生成
  • Fingerprintを使った研究はオワコン? いや、まだ戦える!
  • 1つ1つは弱いFingerprintでも、束ねれば欠点を補い合って全体としては強くなるのでは?
  • 複数のフィンガープリントと機械学習アルゴリズムをアンサンブル
    • 6通りのフィンガープリントと5種類の機械学習アルゴリズム
      • = 30通り
    • IT創薬コンテストに参戦
      • NPO法人 並列生物情報処理イニシアティブ(IPAB)が主催するVSのコンテスト
      • 発見できた!
      • Graph Convolutionを使って駄目だったチームも。

新規サービスでGo, GAEを使ってみた話とその振り返り

DeSC 鶴田さん

  • 自己紹介
    • 普段: カミナル
  • アジェンダ
  • DeSCヘルスケアのサービス
    • KenCoM
      • 利用者の検診結果
    • さんぽジスタ
      • 1vs1のデイリー歩数バトル
    • ★カミナル
      • 歩いたらご褒美
      • '17/10〜 開発開始
      • '18/3〜 トライアル
  • こんな感じで作った:
    • GAE + Go + Datastore
      • トライアル的にさくっと作りたい
      • GAE Standard EnvironmentでRails使えない
    • net/http + GAE library
    • gorilla/mux, urfave/negrorni, ...
  • Deploy
    • GitHub
    • CircleCI
    • GAE
      • branchごとにバージョンを切ってデプロイ
  • QA
    • アプリのデバッグモードで向き先を変更できるように
  • 分析
    • Datastore
    • BigQueryにデイリーでエクスポート
    • Data Studio ... BI
  • 失敗したこと・苦労したこと
    • 歩数は最新のものが届くとは限らない
      • 歩数送信の流れ
      • iOSのヘルスケアから歩数を取得
      • 歩数がヘルスケアに実際に書き込まれるまで時間差がある
  • 歩数問題への対応
    • 対応:
      • 判定結果が失敗の場合は最大1週間待つ
      • 端末側でヘルスケアへの導線を追加
        • ヘルスケアを開くとデータが書き込まれる
  • structにcontextを詰めていた
  • まとめ

某サービスのリニューアルでECSを導入したよもやま話

光宗さん@SMS

  • 自己紹介
  • SMS
    • ITx医療・介護・ヘルスケア領域のパイオニア企業
    • 高齢社会を取り巻く人々がイキイキと生活できるインフラの構築
    • 様々な事業領域
      • 人材紹介
      • 求人情報
      • :
  • 実はまだ導入終わってません
  • ECSを採用した理由
    • ローカルでDocker導入済みだったので、本番でも同じものを動かしたい
    • 自前で整備するのは大変なので既存のソリューションを使いたかった
    • オンプレ→パブリッククラウド移行でアーキテクチャ刷新するタイミング
  • GKE?
    • GKEだとIAMがAWSほど細かく制御できなかった(当時)
  • K8s on AWS
    • 自前で作るのは初期コスト高い
  • CircleCI
    • 今はテストの実行のみ
    • 少し前までdocker build/pushしてた
  • CodePipeline
    • GitHubのブランチを監視して、更新があるとECSへデプロイ
    • Codebuildでdocker buildしてECRにpush
    • CodePipelineのdeployでECSへ直接デプロイ
      • それまではecs-deployを使っていた
      • hakoも検討したが、CodePipelineの方がシンプル
  • CloudFormation

LT

過去の負債と戦う(テクニック編)

@okazu / SMS

iOSにおけるバックグラウンド歩数同期

  • 自己紹介
    • 馬場さん
    • 『歩いておトク』
      • 歩数に応じてdポイントが貯まる
  • バックグラウンド処理①
    • Background Fetch
      • OSの任意のタイミングで呼ばれるタイマーのようなもの
      • 呼ばれたタイミングで処理を行っている
      • 呼ばれる頻度は不定期

メディカルノート開発/インフラのあゆみと設計思想

@k12u / 河本さん

  • 事業内容
    • BtoC
      • 患者さんが医療に迷わない世界を実現したい
      • 主なコンテンツ
        • インタビュー記事
        • 疾患基礎情報
    • BtoB
  • 全体構成
    • Fastly
  • インフラ進化の軌跡
    • シングルインスタンス
    • ROなサイト ... Fastlyにキャッシュ
  • チャレンジ
  • うまくいった事例:
    • CMSが必要
      • Rails + CMS gem (refinery)で開発
  • チームワークで大事にしていること
    • 活発に議論
      • 設計レビュー
      • KPT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment