Inhaltsverzeichnis
Die Keras-Anwendung ist ein fortschrittliches Deep-Learning-Modell, das vorab trainierte Gewichte bereitstellt, die für Vorhersagen, Merkmalsextraktion und Feinabstimmung verwendet werden können. In die Keras-Bibliothek sind viele gebrauchsfertige Modelle integriert. Zu den beliebtesten Modellen gehören: " > Bevor Sie ein tiefes neuronales Netzwerk aufbauen oder trainieren, müssen Sie herausfinden, welche Optionen für Transferlernen verfügbar sind und welche Option verwendet werden muss, um ein komplexes tiefes neuronales Netzwerk für Ihr Projekt zu trainieren. Die Keras-Anwendung ist ein fortschrittliches Deep-Learning-Modell, das vorab trainierte Gewichte bereitstellt, die für Vorhersagen, Merkmalsextraktion und Feinabstimmung verwendet werden können. In die Keras-Bibliothek sind viele gebrauchsfertige Modelle integriert. Zu den beliebtesten Modellen gehören:
Nachdem Sie den Datensatz heruntergeladen und im lokalen Speicher gespeichert haben, ist es nun an der Zeit, eine Vorverarbeitung des Datensatzes durchzuführen, wie z. B. die Datenvorbereitung, die Aufteilung der Daten in Zugverzeichnis, gültiges Verzeichnis und Test Verzeichnisse, Definieren ihrer Pfade und Erstellen von Stapeln für Schulungszwecke usw. " >Nachdem Sie den Datensatz heruntergeladen und im lokalen Speicher gespeichert haben, ist es nun an der Zeit, eine Vorverarbeitung des Datensatzes durchzuführen, wie z. B. die Datenvorbereitung, die Aufteilung der Daten in Zugverzeichnis, gültiges Verzeichnis und Test Verzeichnisse, Definieren ihrer Pfade und Erstellen von Stapeln für Schulungszwecke usw.
Abschließend sieht die Struktur des Datensatzes wie folgt aus: " >Abschließend sieht die Struktur des Datensatzes wie folgt aus:
Aufteilen des Datensatzes" >Aufteilen des Datensatzes
Definieren Sie die Pfade zu jedem Verzeichnis. " > Definieren Sie die Pfade zu jedem Verzeichnis.
Vorverarbeitung" >Vorverarbeitung
Bevor die Trainings- und Validierungsdaten in das Modell eingepasst werden, muss das Deep-Learning-Modell MobileNet eine höhere Genauigkeit erreichen, indem es Ausgabeebenen hinzufügt, unnötige Ebenen entfernt und einige Ebenen für die Feinabstimmung untrainierbar macht. " > Bevor die Trainings- und Validierungsdaten in das Modell eingepasst werden, muss das Deep-Learning-Modell MobileNet eine höhere Genauigkeit erreichen, indem es Ausgabeebenen hinzufügt, unnötige Ebenen entfernt und einige Ebenen für die Feinabstimmung untrainierbar macht.
存储模型" >存储模型
测试模型" >测试模型
加载定制的模型" >加载定制的模型
准备输入图像" >准备输入图像
编写预测函数" >编写预测函数
显示与预测图像" >显示与预测图像
结论" >结论
译者介绍" >译者介绍
Heim Technologie-Peripheriegeräte KI Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken

Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken

Apr 23, 2023 am 08:13 AM
机器学习 数据集 迁移学习

​Übersetzer |. Zhu Xianzhong

Rezensent |.Transfer-Lernen ist eine Art maschinelles Lernen, das auf trainierte oder vorab trainierte neuronale Netze angewendet wird Das Metanetzwerk wird mithilfe von Millionen von Datenpunkten trainiert.

Der derzeit bekannteste Einsatz dieser Technologie ist das Training tiefer neuronaler Netze, da diese Methode eine gute Leistung zeigt, wenn weniger Daten zum Training tiefer neuronaler Netze verwendet werden. Tatsächlich ist diese Technik auch im Bereich der Datenwissenschaft nützlich, da die meisten realen Daten normalerweise nicht über Millionen von Datenpunkten verfügen, um ein robustes Deep-Learning-Modell zu trainieren.

Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-TechnikenDerzeit gibt es bereits viele Modelle, die anhand von Millionen von Datenpunkten trainiert werden, und mit diesen Modellen können komplexe Deep-Learning-Neuronale Netze mit maximaler Genauigkeit trainiert werden.

In diesem Tutorial lernen Sie den gesamten Prozess kennen, wie Sie mithilfe der Transfer-Learning-Technologie ein tiefes neuronales Netzwerk trainieren.

Transferlernen mithilfe des Keras-Programms implementieren

Bevor Sie ein tiefes neuronales Netzwerk aufbauen oder trainieren, müssen Sie herausfinden, welche Optionen für Transferlernen verfügbar sind und welche Option verwendet werden muss, um ein komplexes tiefes neuronales Netzwerk für Ihr Projekt zu trainieren. Die Keras-Anwendung ist ein fortschrittliches Deep-Learning-Modell, das vorab trainierte Gewichte bereitstellt, die für Vorhersagen, Merkmalsextraktion und Feinabstimmung verwendet werden können. In die Keras-Bibliothek sind viele gebrauchsfertige Modelle integriert. Zu den beliebtesten Modellen gehören:

Modelle, die mit vorab trainierten Gewichten verwendet werden können. Weitere spezifische Inhalte zu diesen Modellen finden Sie auf der offiziellen Website von Keras.

In diesem Artikel lernen Sie die Anwendung des
    ​MobileNet-Modells​
  • ​im Transferlernen kennen.
  • Training eines Deep-Learning-Modells
  • In diesem Abschnitt erfahren Sie, wie Sie in nur wenigen Schritten ein benutzerdefiniertes Deep-Learning-Modell für die Bilderkennung erstellen, ohne eine Reihe von Faltungs-Neuronalen Netzen (CNN) schreiben zu müssen Sie müssen lediglich das vorab trainierte Modell verfeinern, um Ihr Modell anhand des Trainingsdatensatzes zu trainieren.
In diesem Artikel erstellen wir ein Deep-Learning-Modell, das Bilder von Ziffern der Gestensprache erkennen kann. Beginnen wir als Nächstes mit der Erstellung dieses benutzerdefinierten Deep-Learning-Modells.

Den Datensatz abrufen

Um mit der Erstellung eines Deep-Learning-Modells zu beginnen, müssen Sie zunächst Ihre Daten vorbereiten. Sie können ganz einfach aus Millionen von Datensätzen den richtigen auswählen, indem Sie eine Website namens Kaggle besuchen. Natürlich gibt es viele andere Websites, die verfügbare Datensätze zum Aufbau von Deep-Learning- oder Machine-Learning-Modellen bereitstellen.

Aber der Datensatz, den wir in diesem Artikel verwenden werden, stammt aus dem

American Sign Language Digit Data Set ​, der von der Kaggle-Website bereitgestellt wird.

Datenvorverarbeitung

Nachdem Sie den Datensatz heruntergeladen und im lokalen Speicher gespeichert haben, ist es nun an der Zeit, eine Vorverarbeitung des Datensatzes durchzuführen, wie z. B. die Datenvorbereitung, die Aufteilung der Daten in Zugverzeichnis, gültiges Verzeichnis und Test Verzeichnisse, Definieren ihrer Pfade und Erstellen von Stapeln für Schulungszwecke usw.

Bereiten Sie die Daten vor

Wenn Sie den Datensatz herunterladen, enthält er ein Verzeichnis mit Daten von 0 bis 9, mit drei Unterordnern, die dem Eingabebild, dem Ausgabebild und einem Ordner namens CSV entsprechen. Als nächstes löschen Sie die Ausgabebilder und CSV-Ordner aus jedem Verzeichnis, verschieben den Inhalt des Eingabebildordners in das Hauptverzeichnis und löschen dann den Eingabebildordner.

Jedes Hauptverzeichnis des Datensatzes enthält jetzt 500 Bilder, und Sie können sich dafür entscheiden, sie alle zu behalten. Zu Demonstrationszwecken werden in diesem Artikel jedoch nur 200 Bilder aus jedem Verzeichnis verwendet.

Abschließend sieht die Struktur des Datensatzes wie folgt aus:

Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken

Ordnerstruktur des Datensatzes

Aufteilen des Datensatzes

Jetzt beginnen wir mit der Aufteilung des Datensatzes in drei Unterverzeichnisse: Train, Valid und Test.

  • Das Zugverzeichnis enthält die Trainingsdaten, die als Eingabedaten für unser Modell für Lernmuster und Unregelmäßigkeiten dienen.
  • Das gültige Verzeichnis enthält die Validierungsdaten, die in das Modell eingespeist werden, und sind die ersten unsichtbaren Daten, die das Modell sieht, was dazu beiträgt, maximale Genauigkeit zu erreichen.
  • Das Testverzeichnis enthält die Testdaten, die zum Testen des Modells verwendet werden.

Zuerst importieren wir die Bibliotheken, die weiter im Code verwendet werden.

# 导入需要的库
import os
import shutil
import random
Nach dem Login kopieren

Nachfolgend finden Sie den Code zum Generieren des erforderlichen Verzeichnisses und zum Verschieben der Daten in ein bestimmtes Verzeichnis.

#创建三个子目录: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('../..')
Nach dem Login kopieren

Im obigen Code ändern wir zunächst das Verzeichnis, das dem Datensatz im lokalen Speicher entspricht, und prüfen dann, ob das Verzeichnis train/0 bereits vorhanden ist. Andernfalls erstellen wir die Unterverzeichnisse train, valid und test.

Dann erstellen wir die Unterverzeichnisse 0 bis 9, verschieben alle Daten in das Zugverzeichnis und erstellen die Unterverzeichnisse 0 bis 9 unter den gültigen und Testunterverzeichnissen.

Wir iterieren dann über die Unterverzeichnisse 0 bis 9 innerhalb des Zugverzeichnisses und erhalten zufällig 90 Bilddaten aus jedem Unterverzeichnis und verschieben sie in das entsprechende Unterverzeichnis innerhalb des gültigen Verzeichnisses.

Dasselbe gilt auch für den Testverzeichnistest.

【Ergänzung】 Shutil-Modul zum Ausführen erweiterter Dateioperationen in Python (das manuelle Kopieren oder Verschieben von Dateien oder Ordnern von einem Verzeichnis in ein anderes kann sehr schmerzhaft sein. Ausführliche Tipps finden Sie im Artikel https://medium.com /@geekpython/perform-high-level-file-operations-in-python-shutil-module-dfd71b149d32).

Definieren Sie die Pfade zu jedem Verzeichnis.

Nachdem Sie die erforderlichen Verzeichnisse erstellt haben, müssen Sie nun die Pfade zu den drei Unterverzeichnissen definieren: train, valid und test.

#为三个子目录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'
Nach dem Login kopieren

Vorverarbeitung

Vorab trainierte Deep-Learning-Modelle erfordern einige vorverarbeitete Daten, die sich sehr gut für das Training eignen. Daher müssen die Daten in dem Format vorliegen, das für das vorab trainierte Modell erforderlich ist.

Bevor wir eine Vorverarbeitung anwenden, importieren wir TensorFlow und seine Dienstprogramme, die weiter im Code verwendet werden.

#导入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
Nach dem Login kopieren

#创建训练、校验和测试图像的批次,并使用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)
Nach dem Login kopieren

Wir haben ImageDatagenerator verwendet, der einen Parameter preprocessing_function verwendet, in dem wir das vom MobileNet-Modell bereitgestellte Bild vorverarbeiten.

Rufen Sie als Nächstes die Funktion „flow_from_directory“ auf, in der wir den Pfad zum Verzeichnis und die Abmessungen der zu trainierenden Bilder angeben, da das MobileNet-Modell für Bilder mit den Abmessungen 224 x 224 trainiert wird.

Als nächstes wird die Stapelgröße definiert – sie definiert, wie viele Bilder in einer Iteration verarbeitet werden können, und dann ändern wir zufällig die Reihenfolge der Bildverarbeitung. Hier mischen wir die Bilder für die Testdaten nicht zufällig, da die Testdaten nicht für das Training verwendet werden.

Nachdem Sie das obige Codefragment in Jupyter Notebook oder Google Colab ausgeführt haben, werden Sie die folgenden Ergebnisse sehen.

Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken

Die Ausgabe des obigen Codes

Das allgemeine Anwendungsszenario von ImageDataGenerator ist die Datenerweiterung mit ImageDataGenerator im Keras-Framework.

Erstellen des Modells

Bevor die Trainings- und Validierungsdaten in das Modell eingepasst werden, muss das Deep-Learning-Modell MobileNet eine höhere Genauigkeit erreichen, indem es Ausgabeebenen hinzufügt, unnötige Ebenen entfernt und einige Ebenen für die Feinabstimmung untrainierbar macht.

Der folgende Code lädt das MobileNet-Modell von Keras herunter und speichert es in der mobilen Variablen. Sie müssen mit dem Internet verbunden sein, wenn Sie den folgenden Codeausschnitt zum ersten Mal ausführen.

mobile = tf.keras.applications.mobilenet.MobileNet()
Nach dem Login kopieren

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

mobile.summary()
Nach dem Login kopieren

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

# 删除最后6层并添加一个输出层
x = mobile.layers[-6].output
output = Dense(units=10, activation='softmax')(x)
Nach dem Login kopieren

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

model = Model(inputs=mobile.input, outputs=output)
Nach dem Login kopieren

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

#我们不会训练最后23层——这里的23是一个相对随意的数字
for layer in mobile.layers[:-23]:
layer.trainable=False
Nach dem Login kopieren

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

model.summary()
Nach dem Login kopieren

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

model.compile(optimizer=Adam(learning_rate=0.0001), loss='categorical_crossentropy', metrics=['accuracy'])
Nach dem Login kopieren

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

# 运行共10个轮回(epochs)
model.fit(x=train_batches, validation_data=valid_batches, epochs=10, verbose=2)
Nach dem Login kopieren

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

Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken

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

存储模型

该模型现在已准备就绪,准确度得分为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")
Nach dem Login kopieren

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

测试模型

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

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

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
Nach dem Login kopieren

加载定制的模型

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

my_model = load_model("D:/SACHIN/Models/Hand-Sign-Digit-Language/digit_model.h5")
Nach dem Login kopieren

在此,我们通过使用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
Nach dem Login kopieren

首先,我们要定义一个获取图像路径的函数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)
Nach dem Login kopieren

这里,我们定义了一个函数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)
Nach dem Login kopieren

上面这个函数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)
Nach dem Login kopieren

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

Maßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken

预测结果示意图

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

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

结论

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

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

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

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

译者介绍

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

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

Das obige ist der detaillierte Inhalt vonMaßgeschneidertes Training von Deep-Learning-Modellen mithilfe von Transfer-Learning-Techniken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

In diesem Artikel erfahren Sie mehr über SHAP: Modellerklärung für maschinelles Lernen In diesem Artikel erfahren Sie mehr über SHAP: Modellerklärung für maschinelles Lernen Jun 01, 2024 am 10:58 AM

In den Bereichen maschinelles Lernen und Datenwissenschaft stand die Interpretierbarkeit von Modellen schon immer im Fokus von Forschern und Praktikern. Mit der weit verbreiteten Anwendung komplexer Modelle wie Deep Learning und Ensemble-Methoden ist das Verständnis des Entscheidungsprozesses des Modells besonders wichtig geworden. Explainable AI|XAI trägt dazu bei, Vertrauen in maschinelle Lernmodelle aufzubauen, indem es die Transparenz des Modells erhöht. Eine Verbesserung der Modelltransparenz kann durch Methoden wie den weit verbreiteten Einsatz mehrerer komplexer Modelle sowie der Entscheidungsprozesse zur Erläuterung der Modelle erreicht werden. Zu diesen Methoden gehören die Analyse der Merkmalsbedeutung, die Schätzung des Modellvorhersageintervalls, lokale Interpretierbarkeitsalgorithmen usw. Die Merkmalswichtigkeitsanalyse kann den Entscheidungsprozess des Modells erklären, indem sie den Grad des Einflusses des Modells auf die Eingabemerkmale bewertet. Schätzung des Modellvorhersageintervalls

Identifizieren Sie Über- und Unteranpassung anhand von Lernkurven Identifizieren Sie Über- und Unteranpassung anhand von Lernkurven Apr 29, 2024 pm 06:50 PM

In diesem Artikel wird vorgestellt, wie Überanpassung und Unteranpassung in Modellen für maschinelles Lernen mithilfe von Lernkurven effektiv identifiziert werden können. Unteranpassung und Überanpassung 1. Überanpassung Wenn ein Modell mit den Daten übertrainiert ist, sodass es daraus Rauschen lernt, spricht man von einer Überanpassung des Modells. Ein überangepasstes Modell lernt jedes Beispiel so perfekt, dass es ein unsichtbares/neues Beispiel falsch klassifiziert. Für ein überangepasstes Modell erhalten wir einen perfekten/nahezu perfekten Trainingssatzwert und einen schrecklichen Validierungssatz-/Testwert. Leicht geändert: „Ursache der Überanpassung: Verwenden Sie ein komplexes Modell, um ein einfaches Problem zu lösen und Rauschen aus den Daten zu extrahieren. Weil ein kleiner Datensatz als Trainingssatz möglicherweise nicht die korrekte Darstellung aller Daten darstellt. 2. Unteranpassung Heru.“

Transparent! Eine ausführliche Analyse der Prinzipien der wichtigsten Modelle des maschinellen Lernens! Transparent! Eine ausführliche Analyse der Prinzipien der wichtigsten Modelle des maschinellen Lernens! Apr 12, 2024 pm 05:55 PM

Laienhaft ausgedrückt ist ein Modell für maschinelles Lernen eine mathematische Funktion, die Eingabedaten einer vorhergesagten Ausgabe zuordnet. Genauer gesagt ist ein Modell für maschinelles Lernen eine mathematische Funktion, die Modellparameter anpasst, indem sie aus Trainingsdaten lernt, um den Fehler zwischen der vorhergesagten Ausgabe und der wahren Bezeichnung zu minimieren. Beim maschinellen Lernen gibt es viele Modelle, z. B. logistische Regressionsmodelle, Entscheidungsbaummodelle, Support-Vektor-Maschinenmodelle usw. Jedes Modell verfügt über seine anwendbaren Datentypen und Problemtypen. Gleichzeitig gibt es viele Gemeinsamkeiten zwischen verschiedenen Modellen oder es gibt einen verborgenen Weg für die Modellentwicklung. Am Beispiel des konnektionistischen Perzeptrons können wir es durch Erhöhen der Anzahl verborgener Schichten des Perzeptrons in ein tiefes neuronales Netzwerk umwandeln. Wenn dem Perzeptron eine Kernelfunktion hinzugefügt wird, kann es in eine SVM umgewandelt werden. Dieses hier

Die Entwicklung der künstlichen Intelligenz in der Weltraumforschung und der Siedlungstechnik Die Entwicklung der künstlichen Intelligenz in der Weltraumforschung und der Siedlungstechnik Apr 29, 2024 pm 03:25 PM

In den 1950er Jahren wurde die künstliche Intelligenz (KI) geboren. Damals entdeckten Forscher, dass Maschinen menschenähnliche Aufgaben wie das Denken ausführen können. Später, in den 1960er Jahren, finanzierte das US-Verteidigungsministerium künstliche Intelligenz und richtete Labore für die weitere Entwicklung ein. Forscher finden Anwendungen für künstliche Intelligenz in vielen Bereichen, etwa bei der Erforschung des Weltraums und beim Überleben in extremen Umgebungen. Unter Weltraumforschung versteht man die Erforschung des Universums, das das gesamte Universum außerhalb der Erde umfasst. Der Weltraum wird als extreme Umgebung eingestuft, da sich seine Bedingungen von denen auf der Erde unterscheiden. Um im Weltraum zu überleben, müssen viele Faktoren berücksichtigt und Vorkehrungen getroffen werden. Wissenschaftler und Forscher glauben, dass die Erforschung des Weltraums und das Verständnis des aktuellen Zustands aller Dinge dazu beitragen können, die Funktionsweise des Universums zu verstehen und sich auf mögliche Umweltkrisen vorzubereiten

Implementierung von Algorithmen für maschinelles Lernen in C++: Häufige Herausforderungen und Lösungen Implementierung von Algorithmen für maschinelles Lernen in C++: Häufige Herausforderungen und Lösungen Jun 03, 2024 pm 01:25 PM

Zu den häufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, gehören Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den Lösungen gehören die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische Fälle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

Erklärbare KI: Erklären komplexer KI/ML-Modelle Erklärbare KI: Erklären komplexer KI/ML-Modelle Jun 03, 2024 pm 10:08 PM

Übersetzer |. Rezensiert von Li Rui |. Chonglou Modelle für künstliche Intelligenz (KI) und maschinelles Lernen (ML) werden heutzutage immer komplexer, und die von diesen Modellen erzeugten Ergebnisse sind eine Blackbox, die den Stakeholdern nicht erklärt werden kann. Explainable AI (XAI) zielt darauf ab, dieses Problem zu lösen, indem es Stakeholdern ermöglicht, die Funktionsweise dieser Modelle zu verstehen, sicherzustellen, dass sie verstehen, wie diese Modelle tatsächlich Entscheidungen treffen, und Transparenz in KI-Systemen, Vertrauen und Verantwortlichkeit zur Lösung dieses Problems gewährleistet. In diesem Artikel werden verschiedene Techniken der erklärbaren künstlichen Intelligenz (XAI) untersucht, um ihre zugrunde liegenden Prinzipien zu veranschaulichen. Mehrere Gründe, warum erklärbare KI von entscheidender Bedeutung ist. Vertrauen und Transparenz: Damit KI-Systeme allgemein akzeptiert und vertrauenswürdig sind, müssen Benutzer verstehen, wie Entscheidungen getroffen werden

Fünf Schulen des maschinellen Lernens, die Sie nicht kennen Fünf Schulen des maschinellen Lernens, die Sie nicht kennen Jun 05, 2024 pm 08:51 PM

Maschinelles Lernen ist ein wichtiger Zweig der künstlichen Intelligenz, der Computern die Möglichkeit gibt, aus Daten zu lernen und ihre Fähigkeiten zu verbessern, ohne explizit programmiert zu werden. Maschinelles Lernen hat ein breites Anwendungsspektrum in verschiedenen Bereichen, von der Bilderkennung und der Verarbeitung natürlicher Sprache bis hin zu Empfehlungssystemen und Betrugserkennung, und es verändert unsere Lebensweise. Im Bereich des maschinellen Lernens gibt es viele verschiedene Methoden und Theorien, von denen die fünf einflussreichsten Methoden als „Fünf Schulen des maschinellen Lernens“ bezeichnet werden. Die fünf Hauptschulen sind die symbolische Schule, die konnektionistische Schule, die evolutionäre Schule, die Bayes'sche Schule und die Analogieschule. 1. Der Symbolismus, auch Symbolismus genannt, betont die Verwendung von Symbolen zum logischen Denken und zum Ausdruck von Wissen. Diese Denkrichtung glaubt, dass Lernen ein Prozess der umgekehrten Schlussfolgerung durch das Vorhandene ist

Um ein neues wissenschaftliches und komplexes Frage-Antwort-Benchmark- und Bewertungssystem für große Modelle bereitzustellen, haben UNSW, Argonne, die University of Chicago und andere Institutionen gemeinsam das SciQAG-Framework eingeführt Um ein neues wissenschaftliches und komplexes Frage-Antwort-Benchmark- und Bewertungssystem für große Modelle bereitzustellen, haben UNSW, Argonne, die University of Chicago und andere Institutionen gemeinsam das SciQAG-Framework eingeführt Jul 25, 2024 am 06:42 AM

Herausgeber | Der Frage-Antwort-Datensatz (QA) von ScienceAI spielt eine entscheidende Rolle bei der Förderung der Forschung zur Verarbeitung natürlicher Sprache (NLP). Hochwertige QS-Datensätze können nicht nur zur Feinabstimmung von Modellen verwendet werden, sondern auch effektiv die Fähigkeiten großer Sprachmodelle (LLMs) bewerten, insbesondere die Fähigkeit, wissenschaftliche Erkenntnisse zu verstehen und zu begründen. Obwohl es derzeit viele wissenschaftliche QS-Datensätze aus den Bereichen Medizin, Chemie, Biologie und anderen Bereichen gibt, weisen diese Datensätze immer noch einige Mängel auf. Erstens ist das Datenformular relativ einfach, die meisten davon sind Multiple-Choice-Fragen. Sie sind leicht auszuwerten, schränken jedoch den Antwortauswahlbereich des Modells ein und können die Fähigkeit des Modells zur Beantwortung wissenschaftlicher Fragen nicht vollständig testen. Im Gegensatz dazu offene Fragen und Antworten

See all articles