データコレクターにおける TensorFlow を使用したリアルタイム機械学習

データコレクターにおける TensorFlow を使用したリアルタイム機械学習

DataOps プラットフォームの真の価値は、ビジネス ユーザーとアプリケーションがさまざまなデータ ソースからの生データと集約データにアクセスし、データに基づく洞察をタイムリーに生成できる場合にのみ実現されます。機械学習により、アナリストやデータ サイエンティストは履歴データを活用し、TensorFlow (TF) などのテクノロジーをリアルタイムで使用して、オフライン データに基づくより優れたビジネス上の意思決定を行うことができます。

この記事では、StreamSets Data Collector 3.5.0 および StreamSets Data Collector Edge でリリースされた TensorFlow Evaluator* を使用して、TensorFlow モデルで予測と分類を行う方法を学習します。

詳細に入る前に、いくつかの基本的な概念を見てみましょう。

機械学習

アーサー・サミュエルはこれを「明示的にプログラムされなくても学習する能力をコンピューターに与える研究分野」と説明しました。機械学習の分野の発展により、コンピューターは人間よりも優れた予測を行うことができ、あらゆる問題を解決できるようになったようです。まず、機械学習がどのような問題を解決するのかを確認しましょう。

一般的に、機械学習は次の 2 つのカテゴリに分けられます。

教師あり学習

「教師あり学習とは、入力と出力のペアの例に基づいて入力を出力にマッピングする関数を学習する機械学習タスクです。」— Wikipedia

履歴データに特定の結果のラベルが付けられている場合に結果を予測できる正確なモデルを構築することが含まれます。

教師あり学習で解決される一般的なビジネス上の問題:

  • バイナリ分類(カテゴリ値を予測する学習)
  • - 顧客は特定の商品を購入するでしょうか?
  • - がんは悪性ですか、それとも良性ですか?
  • 多クラス分類(カテゴリ値を予測する学習)
  • - 特定のテキストにウイルス、脅威、またはわいせつな内容が含まれていますか?
  • - これは、Iris setosa、Iris blueflag、またはIris truncatum の種ですか?
  • 回帰(連続値を予測する学習)
  • - 売り出し中の家の予想価格はいくらですか?
  • - 明日のサンフランシスコの気温は何度になりますか?

教師なし学習

教師なし学習により、出力がどのようになるかについての知識がほとんどまたは全くなくても問題に取り組むことができます。データの以前のラベルが利用できない場合にモデルを作成する必要があります。このクラスの問題では、データ内の変数間の関係に基づいてデータをクラスタリングすることによって構造が導出されます。

教師なし学習の一般的な 2 つの方法は、K 平均法クラスタリングと DBSCAN です。

注: Data Collector および Data Collector Edge の TensorFlow Evaluator は現在、教師あり学習モデルのみをサポートしています。

ニューラルネットワークとディープラーニング

ニューラル ネットワークは、人間の脳の構造にヒントを得た計算モデルを学習して使用できる機械学習アルゴリズムの一種です。決定木、ロジスティック回帰などの他の機械学習アルゴリズムと比較すると、ニューラル ネットワークはより高い精度を備えています。

Andrew Ng 氏は、従来の人工ニューラル ネットワークのコンテキストにおけるディープラーニングについて説明します。 「ディープラーニング、自己学習、教師なし特徴学習」と題したスピーチの中で、彼はディープラーニングの考え方を次のように説明しました。

「脳の構造の模倣を利用して、私たちは次のことを実現したいと考えています。

- 学習アルゴリズムを改善し、使いやすくします。

- 機械学習と人工知能の分野で革命的な進歩を遂げる。

これが真の人工知能への道だと信じています。 ”

一般的なニューラル ネットワークとディープラーニングのアプリケーションには次のものがあります。

  • コンピュータビジョン/画像認識/物体検出
  • 音声認識/自然言語処理 (NLP)
  • 推薦システム(商品、マッチメイキングなど)
  • 異常検知(ネットワークセキュリティ等)

テンソルフロー

TensorFlow は、Google Brain チームによって開発された、ディープ ニューラル ネットワーク向けに設計されたオープン ソースの機械学習フレームワークです。 TensorFlow は、CPU、GPU、TPU を含む Windows および Mac オペレーティング システムでのスケーラブルで移植可能なトレーニングをサポートします。これは、GitHub 上で最も人気があり、活発な機械学習プロジェクトです。

データコレクターにおける TensorFlow

TensorFlow Evaluator の導入により、Web サービスとして提供および公開されている機械学習モデルに対して HTTP または REST API 呼び出しを行うことなく、制御された環境でデータや機能を取り込み、予測や分類を生成するパイプラインを作成できるようになりました。たとえば、データ コレクター パイプラインでは、データがさまざまな段階を通過して最終的な宛先に保存され、さらに処理や意思決定が行われる前に、不正なトランザクションを検出したり、テキストに対して自然言語処理をリアルタイムで実行したりできるようになりました。

さらに、Data Collector Edge を使用すると、サポートされているプラ​​ットフォームで実行されている Raspberry Pi やその他のデバイスで TensorFlow 対応の機械学習パイプラインを実行できます。例えば、高リスク地域での洪水などの自然災害の発生確率を検知し、人々の財産への被害を防ぐことなどです。

乳がんの分類

乳がんの腫瘍を悪性か良性かに分類する例を考えてみましょう。乳がんは、scikit-learn の一部として利用できる古典的なデータセットです。このデータセットを使用して Python でシンプルな TensorFlow モデルをトレーニングおよびエクスポートする方法については、GitHub のコードを確認してください。ご覧のとおり、モデルの作成とトレーニングは最小限に抑えられ、隠しレイヤーが数個あるだけで非常にシンプルになっています。注目すべき最も重要な点は、TensorFlow SavedModelBuilder* を使用してモデルをエクスポートおよび保存する方法です。

*注: Data Collector または Data Collector Edge で TensorFlow モデルを使用するには、まず、サポートされている開発言語 (Python など) とインタラクティブ環境 (Jupiter Notebook など) で TensorFlow の SavedModelBuilder を使用してモデルをエクスポートして保存する必要があります。

TensorFlow の SavedModelBuilder を使用してモデルをトレーニングし、エクスポートしたら、そのモデルが Data Collector または Data Collector Edge からアクセスできる場所に保存されている限り、予測や分類のためにデータフロー パイプラインでそのモデルを使用するのは簡単です。

パイプラインの概要

詳細に入る前に、パイプラインは次のようになります。

パイプラインの詳細

  • ディレクトリソース:
  • - これにより、.csv ファイルから乳がんの記録が読み込まれます (注: この入力データ ソースは、Kafka、AWS S3、MySQL などの他のソースに簡単に置き換えることができます)。
  • フィールドコンバーター:
  • - このプロセッサは、モデルで使用されるすべての入力乳がん記録特徴データを文字列から浮動小数点型に変換します。
    1. (平均半径、平均テクスチャ、平均周囲、平均面積、平均滑らかさ、平均コンパクトさ、平均凹み、平均凹み点、平均対称性、平均フラクタル次元、半径誤差、テクスチャ誤差、周囲誤差、面積誤差、滑らかさ誤差、コンパクトさ誤差、凹み誤差、凹み点誤差、対称性誤差、フラクタル次元誤差、最悪半径、最悪テクスチャ、最悪周囲、最悪面積、最悪滑らかさ、最悪コンパクトさ、最悪凹み、最悪凹み点、最悪対称性、最悪フラクタル次元);
  • TensorFlow エバリュエーター* :
  • - モデル保存パス: 使用する事前トレーニング済み TensorFlow モデルの場所を指定します。
  • - モデル タグ: メタ グラフ (エクスポートしたモデル内) がサービングで使用されるため、「serve」に設定します。詳細については、tag_constants.py および関連する TensorFlow API ドキュメントを参照してください。
  • - 入力構成: モデルのトレーニングおよびエクスポート中に構成される入力テンソル情報を指定します (「TensorFlow SavedModelBuilder を使用してモデルをトレーニングし、保存/エクスポートする」セクションを参照)。
  • - 出力構成: モデルのトレーニングおよびエクスポート中に構成される出力テンソル情報を指定します (「TensorFlow SavedModelBuilder を使用してモデルをトレーニングし、保存/エクスポートする」セクションを参照)。
  • - 出力フィールド: カテゴリ値を保存する出力レコード フィールド。
  • 式評価者:
  • -このプロセッサは、モデル出力または分類値を 0 または 1 (出力フィールドTF_Model_Classificationに格納) として評価し、それぞれ良性または悪性の値を持つ新しいレコード フィールド「Condition」を作成します。
  • ストリームセレクター:
  • - このプロセッサは癌の状態(良性または悪性)を評価し、そのレコードをそれぞれの Kafka プロデューサーに送信します。
  • カフカプロデューサー:
  • - 入力レコードとモデルの出力または分類値は、さらなる処理と分析のために条件付きで 2 つの Kafka プロデューサーに送信されます。

*TensorFlow エバリュエーターの設定

注: TensorFlow Evaluator がモデル出力を生成すると、この例で使用されるパイプライン ステージはオプションとなり、ユース ケースの必要に応じて他のプロセッサやターゲットと交換できます。

パイプライン実行

プレビュー パイプラインでは、乳がんデータ レコードの入力は、TensorFlow モデルの提供を含め、上記のデータフロー パイプライン プロセスを通過します。 Kafka プロデューサーに送信される最終出力レコード データ (上記参照) には、モデルが分類に使用する乳がんの特徴、ユーザー定義フィールド TF_Model_Classification のモデル出力値 0 または 1、および Expression Evaluator によって作成された Condition フィールドの対応するがん状態 (良性または悪性) が含まれます。

要約する

この記事では、Data Collector 3.5.0 で新しくリリースされた TensorFlow Evaluator を使用する方法について説明します。一般に、この推定ツールを使用すると、独自のコードを記述することなく、予測と分類結果を生成するための事前トレーニング済みの TensorFlow モデルを提供できます。

<<:  人工知能を使ったチャットボットの構築方法

>>:  機械学習アルゴリズムの長所と短所の比較と選択(要約)

ブログ    

推薦する

人工知能が水力発電の持続可能な開発にどのように役立つか

水力発電ダムの壁は川の流れを制限し、川をよどんだ水たまりに変えてしまいます。これらの貯水池が古くなる...

大きなモデルもスライスできます。Microsoft SliceGPTはLLAMA-2の計算効率を大幅に向上させます。

大規模言語モデル (LLM) には通常、数十億のパラメータがあり、数兆のトークンのデータを使用してト...

Java プログラミング スキル - データ構造とアルゴリズム「プレフィックス、インフィックス、サフィックス」

[[387421]]接頭辞表現(ポーランド語表記)プレフィックス式はポーランド式とも呼ばれます。プ...

...

ロボットが人間の「仲間」となり、人間と機械の関係が変化する。これは良いことなのか、悪いことなのか?

最近南京で開催された2020年世界知能製造会議において、中国工程院の研究者らは、人類の発展の観点から...

人工知能における非構造化データの役割

人工知能 (AI) システムは人間に似た方法でやり取りするため、一部の人は不安に思うかもしれませんが...

...

ハードコア情報 | 顔認識の原理とは?

[[408210]]今では「顔認証で出勤、顔認証で支払い、顔認証でドアを開ける」といったハイテクノ...

...

面接中にアルゴリズムの質問を解く際にプログラマーが知っておくべきこと

面接でアルゴリズムのみをテストする質問は、一般的に多くのプログラマーの友人から嫌われます。ここでは、...

機械学習プロジェクトでオプティマイザーを選択する方法

導入いくつかの一般的なオプティマイザーを紹介し、その長所と短所を分析し、オプティマイザーを選択するた...

...

暑い天候でのドローン飛行の安全ガイド:理解できましたか?

夏が進むにつれて気温もどんどん高くなっていきます。最近クウェートの気温は50℃~70℃に達したと報じ...

機械学習の世界的ゴッドファーザーであるトム・ミッチェルは、スクワールAIラーニングに入社すると発表した。

トム・ミッチェル教授は、スクワレルAIラーニングからの最高AI責任者としての招待を受け入れたことを正...

ドローンによる配達は近づいているが、商業利用にはまだ問題点を解決する必要がある

都市から農村まで、わが国の宅配便や電子商取引企業がドローン物流と配達に注力したことで、国産ドローンの...