データコレクターにおける 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 モデルを提供できます。

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

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

ブログ    
ブログ    
ブログ    

推薦する

...

海外メディア:ロボットは人間の生活を変え、雇用や結婚のパターンに影響を与える

[[442070]]レファレンス・ニュース・ネットワークは12月26日、ドイツのフランクフルター・ア...

...

自動運転車のソフトウェアアップグレードに関する技術管理と規制戦略の分析

スマート車両ネットワーキング、インテリジェンス、アーキテクチャ技術の発展に伴い、自動車ではファームウ...

AIロボットが産業監視を強化

この機会に応えて、IBM と Boston Dynamics は協力して、IBM ソフトウェアと B...

Java 開発者のための機械学習の事例

翻訳者 |陳俊レビュー | Chonglou昨年以来、 ChatGPTやBardなどの大規模言語モデ...

...

LLaMA、BERT などの導入課題を解決: 初の 4 ビット浮動小数点量子化 LLM が登場

大規模言語モデル (LLM) 圧縮は常に大きな注目を集めています。トレーニング後の量子化は、一般的に...

研究AI面接に合格するには? RedditユーザーがGoogleの面接体験を語る

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIがビデオ業界の変革を推進する方法

AI コンテンツ分析は、ビデオで取り上げられているトピックや、ビデオ内の登場人物が表現した感情を識別...

...

Alipayの検索エクスペリエンスを向上させるために、Antと北京大学は階層的コントラスト学習を使用してテキストフレームワークを生成

テキスト生成タスクは通常、教師強制法を使用してトレーニングされ、これにより、モデルはトレーニング中に...

AIの変革力:AI市場の探究

人工知能 (AI) は、急速に現代の最も変革的なテクノロジーの 1 つとなり、産業を再編し、生産性を...

ロボットがお届けする素敵なショッピング旅行

[[373854]]最近、北京にショッピングモールがオープンした。オープン当日、客を出迎えたのは「人...

ByteDanceは、ロボットの成功率と操作効果を高めたVi-PRoMビジュアル事前トレーニングソリューションを提案した。

近年、大規模な実世界データを使用した視覚事前トレーニングは大きな進歩を遂げており、ピクセル観察に基づ...