Oracleのビッグデータ関連のセミナーに参加してみた

 2021.06.08  株式会社テリロジー 技術統括部

こんにちは!テリロジーのY.Tです。
先日、Oracle Big Data Jam Sessionという、ビッグデータ系サーバレス・サービスの技術情報の勉強会に参加 しました。定期的に開催されているのですが、今回のテーマは「次世代AI「GAN」による仮想現実の生成」であり、GANを利用し、OCIのData Science上で画像を生成していくデモが紹介されていました。

勉強会は終了後でもYoutubeでアーカイブが配信されており、いつでも見ることができます。

今回は勉強会のテーマであったGANについて、簡単にご紹介します。

GANとは何か

「Generative Adversarial Networks(敵対的生成ネットワーク)」の略で、機械学習の1つです。機械学習は以下のように分類することができ、GANは教師なしの1つの手法になります。

GANとは何か

  • 機械学習(教師あり):正解が分かっているデータをもとに学習し、正解がわかっていないデータを入力し予測する
  • 機械学習(教師なし):正解を与えずにデータのみ与える。特徴を分析しデータをグループ分けすることで学習する
  • 強化学習:行動に対しての結果毎に報酬を設定し、学習を強化していく

GANを使ってできること

GANを使ってできることの例は以下です。

・実在しないモデルやキャラクターの生成

GANを使ってできること 画像01

・画像の変換

GANを使ってできること 画像02

・モノクロの絵をカラーに変換

GANを使ってできること 画像03

上記の他、勉強会では以下の活用事例も紹介されていました。
・ゲームに登場する物体や背景のシェーディング画像の生成
・CT 画像、MRI画像から骨格画像を生成

GANの仕組み

勉強会ではネットワークの計算処理についても詳しく説明されていましたが、ここでは端的にGANの仕組みについて ご紹介していきます。GANは生成器(生成モデル)と識別器(識別モデル)を敵対させながら交互に学習させていく 方法です。具体的には以下のような仕組みで学習が進みます。

  1. 生成器がサンプルデータをもとにデータを作成する
  2. 識別機が本物か偽物か判別する→偽物と判断
  3. 生成器が本物と判別されるためにデータを作成する
    2⇔3を繰り返し、本物と判断
  4. 識別機が本物と判断する基準を厳しくする
    1へ戻り、1⇔4を繰り返していく

GANを使ってみる

実際にGANの改良版であるPGGANを使って、以下の手順でオリジナルアニメキャラクターを作ってみました。

  1. 訓練用の画像データ収集
  2. 訓練用の画像データサイズを編集
  3. PGGANsのソースをGitからクローン
  4. PGGANsの設定ファイルを編集(訓練用データの場所の指定など)
  5. 学習

学習開始から24時間半でだいぶ顔が出来上がってきました。

GANを使ってみる

勉強会ではOCIの機械学習開発環境である「Oracle Cloud Infrastructure Data Science」が利用されていました。Scikit-Learn、TensorFlow、Keras、XGBoostなどの機械学習ライブラリが実装済みの環境で、複数ユーザーで共有することができます。

詳細は以下で紹介されています。

Oracle Cloud Infrastructure Data Science のエッセンスをクイックレビュー

まとめ

今回はOracle Big Data Jam Sessionのテーマをきっかけに、GANについて紹介しました。
定期的に開催されているため、次回以降も受講したいと思います。
最後までお読みいただき、ありがとうございました。🙇


RECENT POST「OCIサービス紹介」の最新記事


OCIサービス紹介

テリロジーが提供しているOCIの4つのサービス

OCIサービス紹介

Oracle FunctionsのスクリプトをAPIGW経由で確認 Part1

OCIサービス紹介

Oracle FunctionsのスクリプトをAPIGW経由で確認 Part2

OCIサービス紹介

OCIのDNSサービス

Oracleのビッグデータ関連のセミナーに参加してみた