


Latihan tersuai bagi model pembelajaran mendalam menggunakan teknik pembelajaran pemindahan
Penterjemah |. Zhu Xianzhong
Penilai|. kaedah rangkaian saraf terlatih, dan rangkaian saraf pra-terlatih ini dilatih menggunakan berjuta-juta titik data.
Penggunaan teknologi ini yang paling terkenal ialah untuk melatih rangkaian saraf dalam, kerana kaedah ini menunjukkan prestasi yang baik apabila menggunakan kurang data untuk melatih rangkaian saraf dalam . Malah, teknik ini juga berguna dalam bidang sains data, kerana kebanyakan data dunia sebenar biasanya tidak mempunyai berjuta-juta titik data untuk melatih model pembelajaran mendalam yang mantap.Pada masa ini, banyak model wujud yang dilatih menggunakan berjuta-juta titik data, dan model ini boleh digunakan untuk melatih rangkaian saraf pembelajaran mendalam yang kompleks dengan ketepatan maksimum.
Dalam tutorial ini, anda akan mempelajari proses lengkap cara menggunakan teknologi pembelajaran pemindahan untuk melatih rangkaian saraf dalam.
Melaksanakan pembelajaran pemindahan menggunakan program KerasSebelum membina atau melatih rangkaian saraf dalam, anda mesti memahami pilihan yang tersedia untuk pembelajaran pemindahan dan yang mana satu mesti digunakan Penyelesaian untuk melatih rangkaian saraf dalam yang kompleks untuk projek. Aplikasi Keras ialah model pembelajaran mendalam lanjutan yang menyediakan pemberat pra-latihan yang boleh digunakan untuk ramalan, pengekstrakan ciri dan penalaan halus. Terdapat banyak model sedia untuk digunakan terbina dalam perpustakaan Keras, beberapa model popular termasuk:
XceptionVGG16 dan VGG19- Siri ResNet
- MobileNet
- 【Supplement】Aplikasi Keras menyediakan satu set model pembelajaran mendalam yang boleh digunakan dengan pemberat yang telah dilatih. Untuk kandungan yang lebih khusus tentang model ini, sila rujuk
- kandungan laman web rasmi Keras .
Dalam artikel ini, anda akan mempelajari aplikasi model MobileNet dalam pembelajaran pemindahan.
Latih model pembelajaran mendalam
Dalam bahagian ini, anda akan belajar cara membina model pembelajaran mendalam tersuai untuk pengecaman imej dalam beberapa langkah sahaja, bukannya menulis mana-mana siri rangkaian neural convolutional (CNN), anda hanya boleh memperhalusi model pra-latihan untuk melatih model anda pada set data latihan. Dalam artikel ini, kami membina model pembelajaran mendalam yang akan dapat mengecam imej digit bahasa isyarat. Seterusnya, mari mula membina model pembelajaran mendalam tersuai ini.
Dapatkan set dataUntuk memulakan proses membina model pembelajaran mendalam, anda perlu terlebih dahulu menyediakan data Anda boleh melakukannya dengan melawati tapak web yang dipanggil Kaggle, daripada Pilih set data yang betul dengan mudah antara jutaan set data. Sudah tentu, terdapat banyak tapak web lain yang menyediakan set data yang tersedia untuk membina model pembelajaran mendalam atau pembelajaran mesin. Tetapi set data yang akan digunakan oleh artikel ini diambil daripada
Set Data Digit Bahasa Isyarat Amerika yang disediakan oleh tapak web Kaggle.
Selepas memuat turun set data dan menyimpannya ke storan setempat, kini tiba masanya untuk melaksanakan beberapa prapemprosesan pada set data Seperti menyediakan data, membahagikan data ke dalam direktori kereta api, direktori yang sah dan direktori ujian, menentukan laluan mereka dan mencipta pemprosesan kelompok untuk tujuan latihan, dsb.
Sediakan dataApabila anda memuat turun set data, ia mengandungi direktori data dari 0 hingga 9, dengan tiga subfolder sepadan dengan imej input, imej output dan nama. Folder untuk CSV. Seterusnya, padam imej output dan folder CSV daripada setiap direktori, alihkan kandungan folder imej input ke direktori utama, dan kemudian padam folder imej input.
Setiap direktori induk set data kini memegang 500 imej dan anda boleh memilih untuk menyimpan kesemuanya. Tetapi untuk tujuan demonstrasi, hanya 200 imej daripada setiap direktori digunakan dalam artikel ini.
Akhir sekali, struktur set data akan seperti yang ditunjukkan di bawah:
Struktur folder set data
Pisah set data
Sekarang, mari mulakan dengan Mula dengan membahagikan set data kepada tiga subdirektori: train, valid dan test. Direktori kereta api
- akan mengandungi data latihan yang akan berfungsi sebagai data input kepada model kami untuk corak pembelajaran dan penyelewengan.
- Direktori yang sah akan mengandungi data pengesahan yang akan dimasukkan ke dalam model dan akan menjadi data ghaib pertama yang dilihat oleh model, yang akan membantu mencapai ketepatan maksimum.
- Direktori ujian akan mengandungi data ujian yang digunakan untuk menguji model.
Mula-mula, mari kita import perpustakaan yang akan digunakan selanjutnya dalam kod.
# 导入需要的库 import os import shutil import random
Di bawah ialah kod untuk menjana direktori yang diperlukan dan mengalihkan data ke direktori tertentu.
#创建三个子目录: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('../..')
Dalam kod di atas, kami mula-mula menukar direktori yang sepadan dengan set data dalam storan setempat, dan kemudian menyemak sama ada direktori train/0 sudah wujud, jika tidak, kami akan mencipta train, valid dan subdirektori ujian.
Kemudian, kami mencipta subdirektori 0 hingga 9, memindahkan semua data ke direktori kereta api dan mencipta subdirektori 0 hingga 9 di bawah subdirektori yang sah dan menguji.
Kami kemudiannya mengulangi subdirektori 0 hingga 9 dalam direktori kereta api dan secara rawak mendapatkan 90 data imej daripada setiap subdirektori dan mengalihkannya ke subdirektori yang sepadan dalam direktori yang sah.
Perkara yang sama berlaku untuk ujian direktori ujian.
【Tambahan】 modul shutil untuk melaksanakan operasi fail lanjutan dalam Python (menyalin atau memindahkan fail atau folder secara manual dari satu direktori ke direktori lain boleh menjadi perkara yang sangat menyakitkan. Untuk petua terperinci, sila Rujukan artikel https://medium .com/@geekpython/perform-high-level-file-operations-in-python-shutil-module-dfd71b149d32).
Tentukan laluan ke setiap direktori
Selepas mencipta direktori yang diperlukan, anda kini perlu mentakrifkan tiga subdirektori iaitu train, valid dan test laluan.
#为三个子目录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'
Pra-pemprosesan
Model pembelajaran mendalam pra-latihan memerlukan beberapa data pra-diproses, yang sangat sesuai untuk latihan. Oleh itu, data perlu dalam format yang diperlukan oleh model pralatihan.
Sebelum menggunakan sebarang prapemprosesan, marilah kami mengimport TensorFlow dan utilitinya, yang akan digunakan selanjutnya dalam kod.
#导入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)
Kami menggunakan ImageDatagenerator, yang mengambil parameter preprocessing_function, di mana kami mempraproses imej yang disediakan oleh model MobileNet.
Seterusnya, panggil fungsi flow_from_directory di mana kami menyediakan laluan ke direktori dan dimensi imej untuk dilatih, memandangkan model MobileNet dilatih untuk imej dengan dimensi 224x224.
Seterusnya, kami mentakrifkan saiz kelompok - berapa banyak imej yang boleh diproses dalam satu lelaran, dan kemudian kami merombak susunan pemprosesan imej secara rawak. Di sini, kami tidak mengocok imej secara rawak untuk data ujian kerana data ujian tidak akan digunakan untuk latihan.
Selepas menjalankan coretan kod di atas dalam buku nota Jupyter atau Google Colab, anda akan melihat hasil berikut.
Output kod di atas
Senario aplikasi umum ImageDataGenerator adalah untuk menambah data. Berikut ialah panduan untuk melakukan penambahan data menggunakan ImageDataGenerator dalam rangka kerja Keras.
Cipta modelSebelum memasukkan data latihan dan pengesahan ke dalam model, model pembelajaran mendalam MobileNet perlu dibuat dengan menambah lapisan output, mengalih keluar lapisan yang tidak diperlukan, dan menggunakan Sesetengah lapisan tidak boleh dilatih, membenarkan ketepatan yang lebih baik untuk penalaan halus.
Kod berikut akan memuat turun model MobileNet daripada Keras dan menyimpannya dalam pembolehubah mudah alih. Anda perlu disambungkan ke Internet pada kali pertama anda menjalankan coretan kod berikut.
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
Atas ialah kandungan terperinci Latihan tersuai bagi model pembelajaran mendalam menggunakan teknik pembelajaran pemindahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Dalam bidang pembelajaran mesin dan sains data, kebolehtafsiran model sentiasa menjadi tumpuan penyelidik dan pengamal. Dengan aplikasi meluas model yang kompleks seperti kaedah pembelajaran mendalam dan ensemble, memahami proses membuat keputusan model menjadi sangat penting. AI|XAI yang boleh dijelaskan membantu membina kepercayaan dan keyakinan dalam model pembelajaran mesin dengan meningkatkan ketelusan model. Meningkatkan ketelusan model boleh dicapai melalui kaedah seperti penggunaan meluas pelbagai model yang kompleks, serta proses membuat keputusan yang digunakan untuk menerangkan model. Kaedah ini termasuk analisis kepentingan ciri, anggaran selang ramalan model, algoritma kebolehtafsiran tempatan, dsb. Analisis kepentingan ciri boleh menerangkan proses membuat keputusan model dengan menilai tahap pengaruh model ke atas ciri input. Anggaran selang ramalan model

Artikel ini akan memperkenalkan cara mengenal pasti pemasangan lampau dan kekurangan dalam model pembelajaran mesin secara berkesan melalui keluk pembelajaran. Underfitting dan overfitting 1. Overfitting Jika model terlampau latihan pada data sehingga ia mempelajari bunyi daripadanya, maka model tersebut dikatakan overfitting. Model yang dipasang terlebih dahulu mempelajari setiap contoh dengan sempurna sehingga ia akan salah mengklasifikasikan contoh yang tidak kelihatan/baharu. Untuk model terlampau, kami akan mendapat skor set latihan yang sempurna/hampir sempurna dan set pengesahan/skor ujian yang teruk. Diubah suai sedikit: "Punca overfitting: Gunakan model yang kompleks untuk menyelesaikan masalah mudah dan mengekstrak bunyi daripada data. Kerana set data kecil sebagai set latihan mungkin tidak mewakili perwakilan yang betul bagi semua data. 2. Underfitting Heru

Dalam istilah orang awam, model pembelajaran mesin ialah fungsi matematik yang memetakan data input kepada output yang diramalkan. Secara lebih khusus, model pembelajaran mesin ialah fungsi matematik yang melaraskan parameter model dengan belajar daripada data latihan untuk meminimumkan ralat antara output yang diramalkan dan label sebenar. Terdapat banyak model dalam pembelajaran mesin, seperti model regresi logistik, model pepohon keputusan, model mesin vektor sokongan, dll. Setiap model mempunyai jenis data dan jenis masalah yang berkenaan. Pada masa yang sama, terdapat banyak persamaan antara model yang berbeza, atau terdapat laluan tersembunyi untuk evolusi model. Mengambil perceptron penyambung sebagai contoh, dengan meningkatkan bilangan lapisan tersembunyi perceptron, kita boleh mengubahnya menjadi rangkaian neural yang mendalam. Jika fungsi kernel ditambah pada perceptron, ia boleh ditukar menjadi SVM. yang ini

Pada tahun 1950-an, kecerdasan buatan (AI) dilahirkan. Ketika itulah penyelidik mendapati bahawa mesin boleh melakukan tugas seperti manusia, seperti berfikir. Kemudian, pada tahun 1960-an, Jabatan Pertahanan A.S. membiayai kecerdasan buatan dan menubuhkan makmal untuk pembangunan selanjutnya. Penyelidik sedang mencari aplikasi untuk kecerdasan buatan dalam banyak bidang, seperti penerokaan angkasa lepas dan kelangsungan hidup dalam persekitaran yang melampau. Penerokaan angkasa lepas ialah kajian tentang alam semesta, yang meliputi seluruh alam semesta di luar bumi. Angkasa lepas diklasifikasikan sebagai persekitaran yang melampau kerana keadaannya berbeza daripada di Bumi. Untuk terus hidup di angkasa, banyak faktor mesti dipertimbangkan dan langkah berjaga-jaga mesti diambil. Para saintis dan penyelidik percaya bahawa meneroka ruang dan memahami keadaan semasa segala-galanya boleh membantu memahami cara alam semesta berfungsi dan bersedia untuk menghadapi kemungkinan krisis alam sekitar

Cabaran biasa yang dihadapi oleh algoritma pembelajaran mesin dalam C++ termasuk pengurusan memori, multi-threading, pengoptimuman prestasi dan kebolehselenggaraan. Penyelesaian termasuk menggunakan penunjuk pintar, perpustakaan benang moden, arahan SIMD dan perpustakaan pihak ketiga, serta mengikuti garis panduan gaya pengekodan dan menggunakan alat automasi. Kes praktikal menunjukkan cara menggunakan perpustakaan Eigen untuk melaksanakan algoritma regresi linear, mengurus memori dengan berkesan dan menggunakan operasi matriks berprestasi tinggi.

Pembelajaran mesin ialah cabang penting kecerdasan buatan yang memberikan komputer keupayaan untuk belajar daripada data dan meningkatkan keupayaan mereka tanpa diprogramkan secara eksplisit. Pembelajaran mesin mempunyai pelbagai aplikasi dalam pelbagai bidang, daripada pengecaman imej dan pemprosesan bahasa semula jadi kepada sistem pengesyoran dan pengesanan penipuan, dan ia mengubah cara hidup kita. Terdapat banyak kaedah dan teori yang berbeza dalam bidang pembelajaran mesin, antaranya lima kaedah yang paling berpengaruh dipanggil "Lima Sekolah Pembelajaran Mesin". Lima sekolah utama ialah sekolah simbolik, sekolah sambungan, sekolah evolusi, sekolah Bayesian dan sekolah analogi. 1. Simbolisme, juga dikenali sebagai simbolisme, menekankan penggunaan simbol untuk penaakulan logik dan ekspresi pengetahuan. Aliran pemikiran ini percaya bahawa pembelajaran adalah proses penolakan terbalik, melalui sedia ada

Penterjemah |. Disemak oleh Li Rui |. Chonglou Model kecerdasan buatan (AI) dan pembelajaran mesin (ML) semakin kompleks hari ini, dan output yang dihasilkan oleh model ini adalah kotak hitam – tidak dapat dijelaskan kepada pihak berkepentingan. AI Boleh Dijelaskan (XAI) bertujuan untuk menyelesaikan masalah ini dengan membolehkan pihak berkepentingan memahami cara model ini berfungsi, memastikan mereka memahami cara model ini sebenarnya membuat keputusan, dan memastikan ketelusan dalam sistem AI, Amanah dan akauntabiliti untuk menyelesaikan masalah ini. Artikel ini meneroka pelbagai teknik kecerdasan buatan (XAI) yang boleh dijelaskan untuk menggambarkan prinsip asasnya. Beberapa sebab mengapa AI boleh dijelaskan adalah penting Kepercayaan dan ketelusan: Untuk sistem AI diterima secara meluas dan dipercayai, pengguna perlu memahami cara keputusan dibuat

Editor |ScienceAI Question Answering (QA) set data memainkan peranan penting dalam mempromosikan penyelidikan pemprosesan bahasa semula jadi (NLP). Set data QA berkualiti tinggi bukan sahaja boleh digunakan untuk memperhalusi model, tetapi juga menilai dengan berkesan keupayaan model bahasa besar (LLM), terutamanya keupayaan untuk memahami dan menaakul tentang pengetahuan saintifik. Walaupun pada masa ini terdapat banyak set data QA saintifik yang meliputi bidang perubatan, kimia, biologi dan bidang lain, set data ini masih mempunyai beberapa kekurangan. Pertama, borang data adalah agak mudah, kebanyakannya adalah soalan aneka pilihan. Ia mudah dinilai, tetapi mengehadkan julat pemilihan jawapan model dan tidak dapat menguji sepenuhnya keupayaan model untuk menjawab soalan saintifik. Sebaliknya, Soal Jawab terbuka
