目次
Keras プログラムを使用した転移学習の実装" >Keras プログラムを使用した転移学習の実装
この記事では、ジェスチャー言語の数字の画像を認識できる深層学習モデルを構築します。次に、このカスタム深層学習モデルの構築を開始しましょう。 " >この記事では、ジェスチャー言語の数字の画像を認識できる深層学習モデルを構築します。次に、このカスタム深層学習モデルの構築を開始しましょう。
ただし、この記事で使用するデータ セットは、Kaggle Web サイトが提供するアメリカ手話数字データ セットから取得したものです。 " >ただし、この記事で使用するデータ セットは、Kaggle Web サイトが提供するアメリカ手話数字データ セットから取得したものです。
データセットの各マスター ディレクトリには 500 個の画像が保持されるようになり、すべての画像を保持することを選択できます。ただし、デモの目的で、この記事では各ディレクトリの 200 枚の画像のみを使用します。 " > データセットの各マスター ディレクトリには 500 個の画像が保持されるようになり、すべての画像を保持することを選択できます。ただし、デモの目的で、この記事では各ディレクトリの 200 枚の画像のみを使用します。
データセットの分割" >データセットの分割
各ディレクトリへのパスを定義します。 " > 各ディレクトリへのパスを定義します。
前処理" >前処理
トレーニング データと検証データをモデルに適合させる前に、出力レイヤーを追加し、不要なレイヤーを削除して、深層学習モデル MobileNet を作成する必要があります。一部のレイヤーはトレーニングできないため、微調整の精度が向上します。 " > トレーニング データと検証データをモデルに適合させる前に、出力レイヤーを追加し、不要なレイヤーを削除して、深層学習モデル MobileNet を作成する必要があります。一部のレイヤーはトレーニングできないため、微調整の精度が向上します。
存储模型" >存储模型
测试模型" >测试模型
加载定制的模型" >加载定制的模型
准备输入图像" >准备输入图像
编写预测函数" >编写预测函数
显示与预测图像" >显示与预测图像
结论" >结论
译者介绍" >译者介绍
ホームページ テクノロジー周辺機器 AI 転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

Apr 23, 2023 am 08:13 AM
機械学習 データセット 転移学習

翻訳者|Zhu Xianzhong

査読者|Sun Shujuan

転移学習は機械学習の一種であり、トレーニングまたは事前に訓練されたアプリケーションです。これらの事前トレーニング済みニューラル ネットワークは、数百万のデータ ポイントを使用してトレーニングされます。

転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

このテクノロジーの最も有名な用途は、ディープ ニューラル ネットワークのトレーニングです。この方法は、ディープ ニューラル ネットワークのトレーニングに使用するデータが少ない場合に優れたパフォーマンスを示すためです。実際、ほとんどの実世界のデータには通常、堅牢な深層学習モデルをトレーニングするための数百万のデータ ポイントがないため、この手法はデータ サイエンスの分野でも役立ちます。

現在、数百万のデータポイントを使用してトレーニングされた多くのモデルが存在しており、これらのモデルを使用して、複雑な深層学習ニューラル ネットワークを最高の精度でトレーニングできます。

このチュートリアルでは、転移学習テクノロジーを使用してディープ ニューラル ネットワークをトレーニングする方法の完全なプロセスを学習します。

Keras プログラムを使用した転移学習の実装

ディープ ニューラル ネットワークを構築またはトレーニングする前に、転移学習にどのようなオプションが利用可能で、どのオプションを使用する必要があるかを理解する必要があります。プロジェクト用に複雑なディープ ニューラル ネットワークをトレーニングします。

Keras アプリケーションは、予測、特徴抽出、微調整に使用できる事前トレーニングされた重みを提供する高度な深層学習モデルです。 Keras ライブラリには、すぐに使用できるモデルが多数組み込まれており、人気のあるモデルには、

  • Xception
  • VGG16 および VGG19
  • ResNet シリーズ#などがあります。
  • ##MobileNet
【補足】Keras アプリケーションは、事前にトレーニングされた重みで使用できる一連の深層学習モデルを提供します。これらのモデルの詳細については、Keras 公式 Web サイトを参照してください。

この記事では、転移学習における MobileNet モデルの応用について学びます。

ディープ ラーニング モデルのトレーニング

このセクションでは、コードを記述する代わりに、わずか数ステップで画像認識用のカスタム ディープ ラーニング モデルを構築する方法を学習します。どのシリーズの畳み込みニューラル ネットワーク (CNN) でも、事前トレーニングされたモデルを微調整するだけで、トレーニング データ セットでモデルをトレーニングできます。

この記事では、ジェスチャー言語の数字の画像を認識できる深層学習モデルを構築します。次に、このカスタム深層学習モデルの構築を開始しましょう。

データ セットの取得

ディープ ラーニング モデルの構築プロセスを開始するには、まずデータを準備する必要があります。これを行うには、次の Web サイトにアクセスします。 Kaggle より、数百万のデータセットの中から適切なデータセットを簡単に選択できます。もちろん、深層学習または機械学習モデルを構築するために利用可能なデータセットを提供する Web サイトは他にもたくさんあります。

ただし、この記事で使用するデータ セットは、Kaggle Web サイトが提供するアメリカ手話数字データ セットから取得したものです。

データ前処理データセットをダウンロードしてローカル ストレージに保存した後、データセットに対して次のような前処理を実行します。データの準備、データのトレーニング ディレクトリ、有効なディレクトリ、テスト ディレクトリへの分割、パスの定義、トレーニング目的のバッチ処理の作成など。

データの準備

データセットをダウンロードすると、0 から 9 までのデータのディレクトリと、入力画像、出力画像、および画像に対応する 3 つのサブフォルダーが含まれます。 name. CSV 用のフォルダー。

次に、出力画像と CSV フォルダーを各ディレクトリから削除し、入力画像フォルダーの内容をメイン ディレクトリに移動してから、入力画像フォルダーを削除します。

データセットの各マスター ディレクトリには 500 個の画像が保持されるようになり、すべての画像を保持することを選択できます。ただし、デモの目的で、この記事では各ディレクトリの 200 枚の画像のみを使用します。

最終的に、データセットの構造は以下のようになります:

転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

データセットのフォルダー構造

データセットの分割

さあ、「開始」から始めましょうデータセットを 3 つのサブディレクトリ (train、valid、test) に分割します。

  • train ディレクトリには、パターンと不規則性を学習するためのモデルへの入力データとして機能するトレーニング データが含まれます。
  • valid ディレクトリには、モデルに供給される検証データが含まれます。これは、モデルが最初に認識する未確認のデータとなり、最大の精度を達成するのに役立ちます。
  • テスト ディレクトリには、モデルのテストに使用されるテスト データが含まれます。

まず、コード内でさらに使用されるライブラリをインポートしましょう。

# 导入需要的库
import os
import shutil
import random
ログイン後にコピー

以下は、必要なディレクトリを生成し、データを特定のディレクトリに移動するコードです。

#创建三个子目录:train、valid和test,并把数据组织到其下
os.chdir('D:SACHINJupyterHand Sign LanguageHand_Sign_Language_DL_ProjectAmerican-Sign-Language-Digits-Dataset')

#如果目录不存在则创建相应的子目录
if os.path.isdir('train/0/') is False:
os.mkdir('train')
os.mkdir('valid')
os.mkdir('test')

for i in range(0, 10):
#把0-9子目录移动到train子目录下
shutil.move(f'{i}', 'train')
os.mkdir(f'valid/{i}')
os.mkdir(f'test/{i}')

#从valid子目录下取90个样本图像
valid_samples = random.sample(os.listdir(f'train/{i}'), 90)
for j in valid_samples:
#把样本图像从子目录train移动到valid子目录
shutil.move(f'train/{i}/{j}', f'valid/{i}')

#从test子目录下取90个样本图像
test_samples = random.sample(os.listdir(f'train/{i}'), 10)
for k in test_samples:
#把样本图像从子目录train移动到test子目录
shutil.move(f'train/{i}/{k}', f'test/{i}')

os.chdir('../..')
ログイン後にコピー

上記のコードでは、まずローカル ストレージ内のデータ セットに対応するディレクトリを変更し、次に train/0 ディレクトリが既に存在するかどうかを確認します。存在しない場合は、train を作成し、有効にしてテストします。それぞれのサブディレクトリに移動します。

次に、サブディレクトリ 0 ~ 9 を作成し、すべてのデータを train ディレクトリに移動し、valid サブディレクトリと test サブディレクトリの下にサブディレクトリ 0 ~ 9 を作成します。

次に、train ディレクトリ内のサブディレクトリ 0 ~ 9 を反復処理し、各サブディレクトリから 90 個の画像データをランダムに取得し、有効なディレクトリ内の対応するサブディレクトリに移動します。

テスト ディレクトリ test にも同じことが当てはまります。

【補足】 Python で高度なファイル操作を実行する shutil モジュール (ファイルやフォルダーをあるディレクトリから別のディレクトリに手動でコピーまたは移動するのは非常に面倒な作業です。詳しいヒントについては、参考記事 https://medium .com/@geekpython/perform-high-level-file-operations-in-python-shutil-module-dfd71b149d32)。

各ディレクトリへのパスを定義します。

必要なディレクトリを作成した後、train、valid、test の 3 つのサブディレクトリを定義する必要があります。パス。

#为三个子目录train、valid和test分别指定路径
train_path = 'D:/SACHIN/Jupyter/Hand Sign Language/Hand_Sign_Language_DL_Project/American-Sign-Language-Digits-Dataset/train'
valid_path = 'D:/SACHIN/Jupyter/Hand Sign Language/Hand_Sign_Language_DL_Project/American-Sign-Language-Digits-Dataset/valid'
test_path = 'D:/SACHIN/Jupyter/Hand Sign Language/Hand_Sign_Language_DL_Project/American-Sign-Language-Digits-Dataset/test'
ログイン後にコピー

前処理

事前トレーニングされた深層学習モデルには、トレーニングに非常に適した前処理されたデータが必要です。したがって、データは事前​​トレーニングされたモデルで必要な形式である必要があります。

前処理を適用する前に、コード内でさらに使用される TensorFlow とそのユーティリティをインポートしましょう。

#导入TensorFlow及其实用程序
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.layers import Dense, Activation
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.metrics import categorical_crossentropy
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.preprocessing import image
from tensorflow.keras.models import Model
from tensorflow.keras.models import load_model
ログイン後にコピー

#创建训练、校验和测试图像的批次,并使用Mobilenet的预处理模型进行预处理
train_batches = ImageDataGenerator(preprocessing_function=tf.keras.applications.mobilenet.preprocess_input).flow_from_directory(
directory=train_path, target_size=(224,224), batch_size=10, shuffle=True)
valid_batches = ImageDataGenerator(preprocessing_function=tf.keras.applications.mobilenet.preprocess_input).flow_from_directory(
directory=valid_path, target_size=(224,224), batch_size=10, shuffle=True)
test_batches = ImageDataGenerator(preprocessing_function=tf.keras.applications.mobilenet.preprocess_input).flow_from_directory(
directory=test_path, target_size=(224,224), batch_size=10, shuffle=False)
ログイン後にコピー

ImageDatagenerator を使用します。これはパラメータ preprocessing_function を受け取り、MobileNet モデルによって提供される画像を前処理します。

次に、flow_from_directory 関数を呼び出します。MobileNet モデルは 224x224 のサイズの画像に対してトレーニングされるため、ディレクトリへのパスとトレーニングする画像のサイズを指定します。

次に、バッチ サイズを定義します。つまり、1 回の繰り返しで処理できる画像の数を定義し、画像処理の順序をランダムにシャッフルします。ここでは、テスト データはトレーニングに使用されないため、テスト データの画像をランダムにシャッフルしません。

Jupyter ノートブックまたは Google Colab で上記のコード スニペットを実行すると、次の結果が表示されます。

転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

#上記のコードの出力

ImageDataGenerator の一般的なアプリケーション シナリオは、データを拡張することです。以下は、Keras フレームワークの ImageDataGenerator を使用してデータ拡張を実行するためのガイドです。

モデルの作成

トレーニング データと検証データをモデルに適合させる前に、出力レイヤーを追加し、不要なレイヤーを削除して、深層学習モデル MobileNet を作成する必要があります。一部のレイヤーはトレーニングできないため、微調整の精度が向上します。

次のコードは、Keras から MobileNet モデルをダウンロードし、モバイル変数に保存します。次のコード スニペットを初めて実行するときは、インターネットに接続する必要があります。

mobile = tf.keras.applications.mobilenet.MobileNet()
ログイン後にコピー

如果您运行以下代码,那么您将看到模型的摘要信息,在其中你可以看到一系列神经网络层的输出信息。

mobile.summary()
ログイン後にコピー

现在,我们将在模型中添加以10为单位的全连接输出层(也称“稠密层”)——因为从0到9将有10个输出。此外,我们从MobileNet模型中删除了最后六个层。

# 删除最后6层并添加一个输出层
x = mobile.layers[-6].output
output = Dense(units=10, activation='softmax')(x)
ログイン後にコピー

然后,我们将所有输入和输出层添加到模型中。

model = Model(inputs=mobile.input, outputs=output)
ログイン後にコピー

现在,我们将最后23层设置成不可训练的——其实这是一个相对随意的数字。一般来说,这一具体数字是通过多次试验和错误获得的。该代码的唯一目的是通过使某些层不可训练来提高精度。

#我们不会训练最后23层——这里的23是一个相对随意的数字
for layer in mobile.layers[:-23]:
layer.trainable=False
ログイン後にコピー

如果您看到了微调模型的摘要输出,那么您将注意到与前面看到的原始摘要相比,不可训练参数和层的数量存在一些差异。

model.summary()
ログイン後にコピー

接下来,我们要编译名为Adam的优化器,选择学习率为0.0001,以及损失函数,还有衡量模型的准确性的度量参数。

model.compile(optimizer=Adam(learning_rate=0.0001), loss='categorical_crossentropy', metrics=['accuracy'])
ログイン後にコピー

现在是准备好模型并根据训练和验证数据来开始训练的时候了。在下面的代码中,我们提供了训练和验证数据以及训练的总体轮回数。详细信息只是为了显示准确性进度,在这里您可以指定一个数字参数值为0、1或者2。

# 运行共10个轮回(epochs)
model.fit(x=train_batches, validation_data=valid_batches, epochs=10, verbose=2)
ログイン後にコピー

如果您运行上面的代码片断,那么您将看到训练数据丢失和准确性的轮回的每一步的输出内容。对于验证数据,您也能够看到这样的输出结果。

転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

显示有精度值的训练轮回步数

存储模型

该模型现在已准备就绪,准确度得分为99%。现在请记住一件事:这个模型可能存在过度拟合,因此有可能对于给定数据集图像以外的图像表现不佳。

#检查模型是否存在;否则,保存模型
if os.path.isfile("D:/SACHIN/Models/Hand-Sign-Digit-Language/digit_model.h5") is False:
model.save("D:/SACHIN/Models/Hand-Sign-Digit-Language/digit_model.h5")
ログイン後にコピー

上面的代码将检查是否已经有模型的副本。如果没有,则通过调用save函数在指定的路径中保存模型。

测试模型

至此,模型已经经过训练,可以用于识别图像了。本节将介绍加载模型和编写准备图像、预测结果以及显示和打印预测结果的函数。

在编写任何代码之前,需要导入一些将在代码中进一步使用的必要的库。

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
ログイン後にコピー

加载定制的模型

对图像的预测将使用上面使用迁移学习技术创建的模型进行。因此,我们首先需要加载该模型,以供后面使用。

my_model = load_model("D:/SACHIN/Models/Hand-Sign-Digit-Language/digit_model.h5")
ログイン後にコピー

在此,我们通过使用load_model函数,实现从指定路径加载模型,并将其存储在my_model变量中,以便在后面代码中进一步使用。

准备输入图像

在向模型提供任何用于预测或识别的图像之前,我们需要提供模型所需的格式。

def preprocess_img(img_path):
open_img = image.load_img(img_path, target_size=(224, 224))
img_arr = image.img_to_array(open_img)/255.0
img_reshape = img_arr.reshape(1, 224,224,3)
return img_reshape
ログイン後にコピー

首先,我们要定义一个获取图像路径的函数preprocess_img,然后使用image实用程序中的load_img函数加载该图像,并将目标大小设置为224x224。然后将该图像转换成一个数组,并将该数组除以255.0,这样就将图像的像素值转换为0和1,然后将图像数组重新调整为形状(224,224,3),最后返回转换形状后的图像。

编写预测函数

def predict_result(predict):
pred = my_model.predict(predict)
return np.argmax(pred[0], axis=-1)
ログイン後にコピー

这里,我们定义了一个函数predict_result,它接受predict参数,此参数基本上是一个预处理的图像。然后,我们调用模型的predict函数来预测结果。最后,从预测结果中返回最大值。

显示与预测图像

首先,我们将创建一个函数,它负责获取图像的路径,然后显示图像和预测结果。

#显示和预测图像的函数
def display_and_predict(img_path_input):
display_img = Image.open(img_path_input)
plt.imshow(display_img)
plt.show()
img = preprocess_img(img_path_input)
pred = predict_result(img)
print("Prediction: ", pred)
ログイン後にコピー

上面这个函数display_and_predict首先获取图像的路径并使用PIL库中的Image.open函数打开该图像,然后使用matplotlib库来显示图像,然后将图像传递给preprep_img函数以便输出预测结果,最后使用predict_result函数获得结果并最终打印。

img_input = input("Enter the path of an image: ")
display_and_predict(img_input)
ログイン後にコピー

如果您运行上面的程序片断并输入数据集中图像的路径,那么您将得到所期望的输出。

転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニング

预测结果示意图

请注意,到目前为止该模型是使用迁移学习技术成功创建的,而无需编写任何一系列神经网络层相关代码。

现在,这个模型可以用于开发能够进行图像识别的Web应用程序了。文章的最后所附链接处提供了如何将该模型应用到Flask应用程序中的完整实现源码。

结论

本文中我们介绍了使用预先训练的模型或迁移学习技术来制作一个定制的深度学习模型的过程。

到目前为止,您已经了解了创建一个完整的深度学习模型所涉及的每一步。归纳起来看,所使用的总体步骤包括:

  • 准备数据集
  • 预处理数据
  • 创建模型
  • 保存自定义模型
  • 测试自定义模型

最后,您可以从​​GitHub​​上获取本文示例项目完整的源代码。

译者介绍

朱先忠,51CTO社区编辑,51CTO专家博客、讲师,潍坊一所高校计算机教师,自由编程界老兵一枚。

原文标题:Trained A Custom Deep Learning Model Using A Transfer Learning Technique​,作者:Sachin Pal​

以上が転移学習技術を使用した深層学習モデルのカスタマイズされたトレーニングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

この記事では、SHAP: 機械学習のモデルの説明について説明します。 この記事では、SHAP: 機械学習のモデルの説明について説明します。 Jun 01, 2024 am 10:58 AM

機械学習とデータ サイエンスの分野では、モデルの解釈可能性が常に研究者や実務家に焦点を当ててきました。深層学習やアンサンブル手法などの複雑なモデルが広く適用されるようになったことで、モデルの意思決定プロセスを理解することが特に重要になってきました。 Explainable AI|XAI は、モデルの透明性を高めることで、機械学習モデルに対する信頼と自信を構築するのに役立ちます。モデルの透明性の向上は、複数の複雑なモデルの普及や、モデルを説明するための意思決定プロセスなどの方法によって実現できます。これらの方法には、特徴重要度分析、モデル予測間隔推定、ローカル解釈可能性アルゴリズムなどが含まれます。特徴重要度分析では、入力特徴に対するモデルの影響度を評価することで、モデルの意思決定プロセスを説明できます。モデルの予測間隔の推定

透明!主要な機械学習モデルの原理を徹底的に分析! 透明!主要な機械学習モデルの原理を徹底的に分析! Apr 12, 2024 pm 05:55 PM

平たく言えば、機械学習モデルは、入力データを予測された出力にマッピングする数学関数です。より具体的には、機械学習モデルは、予測出力と真のラベルの間の誤差を最小限に抑えるために、トレーニング データから学習することによってモデル パラメーターを調整する数学関数です。機械学習には、ロジスティック回帰モデル、デシジョン ツリー モデル、サポート ベクター マシン モデルなど、多くのモデルがあります。各モデルには、適用可能なデータ タイプと問題タイプがあります。同時に、異なるモデル間には多くの共通点があったり、モデル進化の隠れた道が存在したりすることがあります。コネクショニストのパーセプトロンを例にとると、パーセプトロンの隠れ層の数を増やすことで、それをディープ ニューラル ネットワークに変換できます。パーセプトロンにカーネル関数を追加すると、SVM に変換できます。これです

学習曲線を通じて過学習と過小学習を特定する 学習曲線を通じて過学習と過小学習を特定する Apr 29, 2024 pm 06:50 PM

この記事では、学習曲線を通じて機械学習モデルの過学習と過小学習を効果的に特定する方法を紹介します。過小適合と過適合 1. 過適合 モデルがデータからノイズを学習するためにデータ上で過学習されている場合、そのモデルは過適合していると言われます。過学習モデルはすべての例を完璧に学習するため、未確認の新しい例を誤って分類してしまいます。過適合モデルの場合、完璧/ほぼ完璧なトレーニング セット スコアとひどい検証セット/テスト スコアが得られます。若干修正: 「過学習の原因: 複雑なモデルを使用して単純な問題を解決し、データからノイズを抽出します。トレーニング セットとしての小さなデータ セットはすべてのデータを正しく表現できない可能性があるため、2. 過学習の Heru。」

宇宙探査と人類居住工学における人工知能の進化 宇宙探査と人類居住工学における人工知能の進化 Apr 29, 2024 pm 03:25 PM

1950 年代に人工知能 (AI) が誕生しました。そのとき、研究者たちは、機械が思考などの人間と同じようなタスクを実行できることを発見しました。その後、1960 年代に米国国防総省は人工知能に資金を提供し、さらなる開発のために研究所を設立しました。研究者たちは、宇宙探査や極限環境での生存など、多くの分野で人工知能の応用を見出しています。宇宙探査は、地球を超えた宇宙全体を対象とする宇宙の研究です。宇宙は地球とは条件が異なるため、極限環境に分類されます。宇宙で生き残るためには、多くの要素を考慮し、予防策を講じる必要があります。科学者や研究者は、宇宙を探索し、あらゆるものの現状を理解することが、宇宙の仕組みを理解し、潜在的な環境危機に備えるのに役立つと信じています。

C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 Jun 03, 2024 pm 01:25 PM

C++ の機械学習アルゴリズムが直面する一般的な課題には、メモリ管理、マルチスレッド、パフォーマンスの最適化、保守性などがあります。解決策には、スマート ポインター、最新のスレッド ライブラリ、SIMD 命令、サードパーティ ライブラリの使用、コーディング スタイル ガイドラインの遵守、自動化ツールの使用が含まれます。実践的な事例では、Eigen ライブラリを使用して線形回帰アルゴリズムを実装し、メモリを効果的に管理し、高性能の行列演算を使用する方法を示します。

説明可能な AI: 複雑な AI/ML モデルの説明 説明可能な AI: 複雑な AI/ML モデルの説明 Jun 03, 2024 pm 10:08 PM

翻訳者 | Li Rui によるレビュー | 今日、人工知能 (AI) および機械学習 (ML) モデルはますます複雑になっており、これらのモデルによって生成される出力はブラックボックスになっており、関係者に説明することができません。 Explainable AI (XAI) は、利害関係者がこれらのモデルがどのように機能するかを理解できるようにし、これらのモデルが実際に意思決定を行う方法を確実に理解できるようにし、AI システムの透明性、信頼性、およびこの問題を解決するための説明責任を確保することで、この問題を解決することを目指しています。この記事では、さまざまな説明可能な人工知能 (XAI) 手法を検討して、その基礎となる原理を説明します。説明可能な AI が重要であるいくつかの理由 信頼と透明性: AI システムが広く受け入れられ、信頼されるためには、ユーザーは意思決定がどのように行われるかを理解する必要があります

新しい科学的で複雑な質問応答ベンチマークと大規模モデルの評価システムを提供するために、UNSW、アルゴンヌ、シカゴ大学、およびその他の機関が共同で SciQAG フレームワークを立ち上げました。 新しい科学的で複雑な質問応答ベンチマークと大規模モデルの評価システムを提供するために、UNSW、アルゴンヌ、シカゴ大学、およびその他の機関が共同で SciQAG フレームワークを立ち上げました。 Jul 25, 2024 am 06:42 AM

編集者 |ScienceAI 質問応答 (QA) データセットは、自然言語処理 (NLP) 研究を促進する上で重要な役割を果たします。高品質の QA データ セットは、モデルの微調整に使用できるだけでなく、大規模言語モデル (LLM) の機能、特に科学的知識を理解し推論する能力を効果的に評価することもできます。現在、医学、化学、生物学、その他の分野をカバーする多くの科学 QA データ セットがありますが、これらのデータ セットにはまだいくつかの欠点があります。まず、データ形式は比較的単純で、そのほとんどが多肢選択式の質問であり、評価は簡単ですが、モデルの回答選択範囲が制限され、科学的な質問に回答するモデルの能力を完全にテストすることはできません。対照的に、自由回答型の Q&A

あなたが知らない機械学習の 5 つの流派 あなたが知らない機械学習の 5 つの流派 Jun 05, 2024 pm 08:51 PM

機械学習は人工知能の重要な分野であり、明示的にプログラムしなくてもコンピューターにデータから学習して能力を向上させる機能を提供します。機械学習は、画像認識や自然言語処理から、レコメンデーションシステムや不正行為検出に至るまで、さまざまな分野で幅広く応用されており、私たちの生活様式を変えつつあります。機械学習の分野にはさまざまな手法や理論があり、その中で最も影響力のある 5 つの手法は「機械学習の 5 つの流派」と呼ばれています。 5 つの主要な学派は、象徴学派、コネクショニスト学派、進化学派、ベイジアン学派、およびアナロジー学派です。 1. 象徴主義は、象徴主義とも呼ばれ、論理的推論と知識の表現のためのシンボルの使用を強調します。この学派は、学習は既存の既存の要素を介した逆演繹のプロセスであると信じています。

See all articles