データコレクターでリアルタイム機械学習に TensorFlow を使用する方法

データコレクターでリアルタイム機械学習に TensorFlow を使用する方法

【51CTO.com クイック翻訳】

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

この記事では、StreamSets Data Collector 3.5.0 (https://streamsets.com/products/sdc を参照)、StreamSets Data Collector Edge (https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Edge_Mode/EdgePipelineTypes.html#concept_c14_m4r_4bb を参照)、および新しくリリースされた TensorFlow Evaluator (https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Processors/TensorFlow.html#concept_otg_csh_z2b を参照) を使用して、さまざまな予測タスクや分類タスクに TensorFlow (TF) モデルを使用する方法を説明します。

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

機械学習

アーサー・サミュエルはこれを「事前に明示的にプログラムすることなく、コンピューターを自動的に学習させる方法を研究する分野」と説明しました。機械学習技術の発展により、今日のコンピューターは人間と同等かそれ以上の予測を行うことができます。機械学習は、一般的に問題を解決する方法に基づいて 2 つのカテゴリに分類されます。

教師あり学習

Wikipedia では、教師あり学習は次のように定義されています: 教師あり学習とは、特定の例の「入力と出力のペア」に基づいて実際の入力を出力にマッピングする学習タスクです。履歴データがその結果に応じてラベル付けされると、それを使用してさまざまな結果を予測する正確なモデルを構築できます。

教師あり学習で解決できる一般的なビジネス上の問題には、次のようなものがあります。

  • バイナリ分類(カテゴリ値を予測する学習)
    • 顧客は製品を購入するでしょうか?
    • ある癌は悪性ですか、それとも良性ですか?
  • 多重分類(カテゴリ値を予測する学習)
    • 指定されたテキストにはウイルスやその他の不健全なコンテンツが含まれていますか?
    • 与えられた花はどの科と種に属しますか?
  • 回帰(連続値を予測する学習)
    • この家の販売前価格はいくらですか?
    • 明日のサンフランシスコはどうなるでしょうか?

教師なし学習

教師なし学習は、出力に関する知識がほとんどまたはまったくない問題を扱います。構築するモデルは過去のデータのラベルを使用できないため、データ内の変数間の関係性に基づいて構造を導き出すためにデータをクラスタリングする必要があります。

教師なし学習の一般的な 2 つの方法は、K-means クラスタリング (https://en.wikipedia.org/wiki/K-means_clustering を参照) と DBSCAN (https://en.wikipedia.org/wiki/DBSCAN を参照) です。

Data Collector と Data Collector Edge の両方の TensorFlow Evaluator は現在、教師あり学習モデルのみをサポートしていることに注意することが重要です。

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

ニューラル ネットワークは、人間の脳の構造にヒントを得た計算モデルを学習して使用できる機械学習アルゴリズムの一種です。ニューラル ネットワークは、決定木やロジスティック回帰などの他の機械学習アルゴリズムと比較して、高い精度を備えています。ディープラーニングはニューラル ネットワークのサブセットであり、これによりネットワークはネストされた階層でさまざまな概念を表現できるようになります。一般的なニューラル ネットワークとディープラーニングのアプリケーションには次のものがあります。

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

テンソルフロー

Google Brain チームによって作成された TensorFlow は、ディープ ニューラル ネットワーク専用に設計されたオープン ソースの機械学習フレームワークです。 TensorFlow は、Windows や Mac OS だけでなく、CPU、GPU、TPU でもスケーラブルで移植可能なモデル トレーニングをサポートします。現在、GitHub 上で最も人気があり、活発な機械学習プロジェクトの 1 つです。

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

TensorFlow Evaluator を使用すると、データや機能を伝送し、含まれている環境でさまざまな予測や分類を生成するパイプラインを作成できます。 HTTP または REST API 呼び出しを開始せずに、Web サービスとして公開されている機械学習モデルにアクセスできます。たとえば、データは最終的な保存先に保存される前に複数の段階を経ることが多く、Data Collector のさまざまなパイプラインは不正なトランザクションをリアルタイムで検出したり、テキストに対して自然言語処理を実行してさらなる処理や意思決定を行ったりすることができます。

さらに、Data Collector Edge を使用すると、Raspberry Pi (https://www.raspberrypi.org/ を参照) またはその他のサポートされているプラ​​ットフォーム (https://streamsets.com/documentation/datacollector/latest/help/datacollector/UserGuide/Edge_Mode/SupportedPlatforms.html#concept_yxr_b5q_4bb を参照) で TensorFlow 機械学習対応パイプラインを実行できます。たとえば、高リスク地域での洪水などの自然災害の発生確率を検出するなど。

応用事例

乳がんの腫瘍を悪性か良性かに分類するユースケースを考えてみましょう。 scikit-learn モデルによって提供される古典的な乳がんデータセット (http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_breast_cancer.html を参照) を使用して、トレーニングとエクスポートに使用できるシンプルな TF モデルを Python で構築しました。私のコードは GitHub で確認できます: https://github.com/iamontheinet/datascience/blob/master/Breast_Cancer/breast_cancer_training.py最も単純な使用例として、モデルの作成とトレーニングではいくつかの隠しレイヤーのみを使用しました。ただし、TensorFlow SavedModelBuilder (https://www.tensorflow.org/api_docs/python/tf/saved_model/builder/SavedModelBuilder を参照) を使用して、Python などのサポートされている言語や、Jupiter Notebook (http://jupyter.org/ を参照) などのインタラクティブな環境を使用してモデルをエクスポートおよび保存する方法を確認できます。

TensorFlow SavedModelBuilder を使用してモデルをトレーニングしてエクスポートした後、Data Collector または Data Collector Edge がアクセスできる場所にモデルを保存することで、データフロー パイプラインで簡単に予測や分類を行うことができます。

パイプラインの概要

次の図は、上記のユースケースのパイプラインの詳細を示しています。で:

  • ディレクトリの起源:
    • ここでは、.csv ファイルから乳がんのデータ レコードを読み込みます。注: ここで入力したデータ ソースは、Kafka、AWS S3、MySQL などの他のソースに簡単に置き換えることができます。
  • フィールドコンバーター:
    • このプロセッサは、乳がん記録機能を持つすべての入力に対して、平均を文字列から浮動小数点数に変換するさまざまな変換を実行します。
  • TF Evaluator (TensorFlow Evaluator、構成は次のとおりです):

    • 保存されたモデル パス: 事前トレーニングに使用する TF モデルの場所を指定します。
    • モデル タグ: エクスポートされたモデルでは、メタ グラフは提供を目的としているため、「serve」に設定する必要があります。詳細については、tag_constants.py(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/tag_constants.py) および関連する TensorFlow API ドキュメント(https://www.tensorflow.org/api_docs/python/tf/saved_model/tag_constants) を参照してください。
    • 入力構成: モデルのトレーニングおよびエクスポート中に構成される入力テンソル情報を指定します。 TensorFlow SavedModelBuilder セクションを使用してモデルをトレーニングし、保存およびエクスポートするを参照してください。
    • 出力構成: モデルのトレーニングおよびエクスポート中に構成される出力テンソル情報を指定します (上記のリンクも参照)。
    • 出力フィールド: カテゴリ値を保存する必要がある出力レコード内のフィールド。
  • 式評価子:
    • このプロセッサは、モデルの出力と分類値が 0 か 1 か (通常は出力フィールド TF_Model_Classification に格納されます) を評価し、それに応じて、それぞれ「良性」または「悪性」の機能「条件」を持つ新しいレコード フィールドを作成します。
  • ストリームセレクター:
    • がんの状態(良性か悪性か)を評価し、その記録をさまざまな Kafka プロデューサーに送信します。
  • カフカプロデューサー:
    • さまざまな入力レコードとモデルの出力/分類値は、条件に応じて 2 つの Kafka プロデューサーにルーティングされ、さらに処理および分析されます。 (注: ここでのターゲットは、AWS S3、MySQL、NoSQL などの他のターゲットに簡単に置き換えることができます)

この例のパイプライン ステージは、TensorFlow Evaluator によって生成されるモデル出力と比較すると、実際にはオプションであることに注意してください。ユースケースの必要に応じて、他のプロセッサやターゲットと交換できます。

パイプライン実行

パイプラインをプレビュー (または実行) すると、入力された乳がんの記録が上記のデータ フローのパイプライン ステージを通過し、TensorFlow モデルに対して提供されます。 Kafka プロデューサーに送信される最終出力レコード (上の図を参照) には、乳がんを分類するために使用されるモデル機能、ユーザー定義フィールド TF_Model_Classification の出力モデル値 (0 または 1)、および式評価者によって作成された、がんの状態が良性か悪性かを示すフィールド条件が含まれます。

要約する

上記では、Data Collector 3.5.0 で新しくリリースされた TensorFlow Evaluator の使い方を簡単に紹介しました。この評価ツールを使用すると、追加のカスタム コードを記述することなく、トレーニング済みの TF モデルを提供して、さまざまな予測と分類を生成できます。

原題: データコレクターでの TensorFlow を使用したリアルタイム機械学習、著者: Dash Desai

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]


<<:  疫病流行中の人間の行動にAIが混乱!データ変更による作業の「異常」は手動での制御が必要

>>:  映画での演技から運転まで、人工知能の実装の5つの主要な方向性は次のとおりです。

ブログ    
ブログ    

推薦する

...

人工知能とソフトウェアアーキテクチャ

[[192443]] AlphaGoの登場により、2016年は人工知能元年とも言えるでしょう。蘇州で...

マスク氏がウルトラマンの七つの大罪を明かす!アルトマンが交渉を再開、ChatGPTは崩壊

ChatGPTが再びダウンしました。半月前の大規模な障害に続いて、ChatGPT はアクセスの急増に...

2022 年に注目すべき主要なエッジ AI トレンド

1956 年に大学の研究分野として取り入れられて以来、AI は楽観的な時期と悲観的な時期を同程度に...

数学モデルが人間の視覚の秘密を解き明かす

人間の視覚はどのように発達するのでしょうか?今日に至るまで、それは謎のままです。脳の視覚系は、世界自...

自動運転車の後、どのような仕事が人工知能に置き換えられるのでしょうか?

自動運転がどれだけ遠い未来の話なのか議論されている中、自動運転の旅客バス、アルファバス・スマートバス...

偽の顔を正確に生成します! Amazonの新しいGANモデルは死角のないオールラウンドな美しさを提供します

最近、Amazon One の研究者は、生成された画像を明示的に制御できる GAN をトレーニングす...

李菲菲のチームはロボット用の「模擬キッチン」を作った。洗浄、カット、調理のワンストップトレーニングである。

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

...

スタンフォード大学の教授が、専門家以外の人向けにAIの核となる概念を1ページで定義

スタンフォード大学のクリストファー・マニング教授は、AI 分野の中核となる概念を 1 ページを使って...

AIが人々の職場復帰を支援:重慶の音声ロボット、北京の無人配達、広州の顔認識体温測定

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

GoogleのチーフAIサイエンティスト、フェイフェイ・リーがスタンフォード大学のAIラボを離れ、再び戻る可能性

BI中国語ウェブサイトが6月28日に報じた。グーグルの主任人工知能(AI)科学者、フェイフェイ・リー...

GoogleはAIを活用して古い地図情報を更新

Google はブログ投稿で、同社の AI がさまざまな要素を分析して、こうした更新を行うべきかどう...

...