Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan Pemula untuk Pembelajaran Mendalam dalam PHP

Panduan Pemula untuk Pembelajaran Mendalam dalam PHP

王林
王林asal
2023-06-11 10:45:141299semak imbas

Dalam beberapa tahun kebelakangan ini, perkembangan pesat teknologi pembelajaran mendalam telah memberi impak yang besar kepada banyak bidang. Sebagai bahasa pengaturcaraan yang popular, PHP juga disepadukan secara beransur-ansur dengan pembelajaran mendalam. Dalam artikel ini, kami akan menyediakan panduan pengenalan ringkas kepada pembelajaran mendalam dalam PHP kepada pemula untuk membantu mereka memahami cara pembelajaran mendalam dilaksanakan dalam PHP dan mendapat manfaat daripadanya.

Pertama, kita perlu memahami apa itu pembelajaran mendalam. Dalam bidang kecerdasan buatan, pembelajaran mendalam ialah teknologi pembelajaran mesin yang bertujuan untuk membolehkan komputer belajar dan melaksanakan tugasan sendiri, dan bukannya diprogramkan oleh manusia. Pembelajaran mendalam mewakili usaha manusia untuk mensimulasikan pemikiran dan tingkah laku manusia.

Untuk melaksanakan pembelajaran mendalam dalam PHP, kami memerlukan beberapa alatan dan perpustakaan penting. Berikut ialah beberapa alatan dan perpustakaan yang patut diberi perhatian:

  1. TensorFlow: Ia adalah perpustakaan pembelajaran mendalam yang sangat popular yang menyokong bahasa pengaturcaraan Python dan C++ Ia mempunyai dokumentasi terperinci dan contoh aplikasi, dan sesuai untuk mereka yang baru bermula sangat mesra pelajar.
  2. Keras: Keras ialah perpustakaan pembelajaran mendalam peringkat tinggi Ia merupakan antara muka kepada TensorFlow dan menyediakan API yang lebih mudah difahami.
  3. Theano: Theano ialah perpustakaan untuk mentakrif, mengoptimumkan dan menilai ungkapan matematik, sering digunakan dalam pengkomputeran berprestasi tinggi.

Untuk pembangun PHP, Keras ialah pilihan yang baik. Kita boleh menggunakan Keras untuk membina model pembelajaran mendalam.

Seterusnya kami akan menunjukkan cara menggunakan Keras dalam PHP untuk pembelajaran mendalam.

Pertama, kita perlu memasang Keras dalam persekitaran PHP. Kita boleh menggunakan Komposer untuk memasang pustaka Keras PHP daripada Packagist. Dalam baris arahan, masukkan arahan berikut:

composer require php-ai/php-ml

Setelah pemasangan selesai, kita boleh mula membina model pembelajaran mendalam.

Di sini, kami akan menggunakan contoh untuk menunjukkan proses pembinaan model pembelajaran mendalam Kami ingin melatih model untuk pengecaman digital.

Pertama, kita perlu menyediakan data latihan. Kita boleh menggunakan set data MNIST, yang merupakan set data berangka yang sangat popular dan sudah disertakan dalam Keras.

use PhpmlDatasetMnistDataset;
$dataset = new MnistDataset();
$dataset->load();

Seterusnya, kita perlu membahagikan data kepada data latihan dan data ujian.

use PhpmlCrossValidationStratifiedRandomSplit;
$sampler = new StratifiedRandomSplit($dataset->getSamples(), $dataset->getTargets(), 0.5);

Dalam contoh ini, kami menggunakan StratifiedRandomSplit, iaitu kaedah pemisahan data dalam pustaka Phpml.

Seterusnya, kami akan membina model pembelajaran mendalam menggunakan Keras. Kami akan menggunakan model Sequential, iaitu model pembelajaran mendalam yang mudah.

use PhpmlNeuralNetworkLayerDense;
use PhpmlNeuralNetworkLayerFlatten;
use PhpmlNeuralNetworkLayerActivation;
use PhpmlNeuralNetworkLayerDropout;
use PhpmlNeuralNetworkClassifierKeras;
use PhpmlNeuralNetworkOptimizerAdam;
use PhpmlNeuralNetworkActivationFunctionSigmoid;

$model = new Sequential();

$model->add(new Flatten());
$model->add(new Dense(800, new Sigmoid()));
$model->add(new Dropout(0.2));
$model->add(new Dense(10, new Sigmoid()));
$model->add(new Activation('softmax'));

$optimizer = new Adam();
$model->compile($optimizer, 'categorical_crossentropy', ['accuracy']);

Di sini kami mencipta model berjujukan dan menambah beberapa lapisan. Khususnya, kami menambah lapisan Rata, lapisan padat 800 nod, lapisan 20% Tercicir, lapisan padat 10 nod dan lapisan Pengaktifan dengan pengaktifan Softmax.

Seterusnya, kita perlu menyesuaikan model dengan data latihan.

$keras = new Keras([
    'input_shape' => [1, 28, 28],
    'output_shape' => [10],
    'loss' => 'categorical_crossentropy',
    'metrics' => ['accuracy'],
    'epochs' => 3,
    'batch_size' => 128,
]);

$keras->fit($sampler->getTrainSamples(), $sampler->getTrainLabels());

Di sini, kami membuat instantiat objek Keras dan melatihnya selama 3 zaman dengan saiz kelompok 128.

Akhir sekali, kami boleh menggunakan set data ujian untuk menilai model kami.

$score = $keras->score($sampler->getTestSamples(), $sampler->getTestLabels());
echo 'Test Accuracy: ' . $score['accuracy'] . PHP_EOL;

Di sini, kami menggunakan kaedah skor yang disediakan dalam Keras untuk menilai ketepatan set data ujian.

Ini ialah panduan pengenalan ringkas kepada pembelajaran mendalam dalam PHP. Kini, kami telah melihat cara membina model pembelajaran mendalam dalam PHP menggunakan Keras, serta cara melatih dan menilai model tersebut. Melalui contoh ini, kami berharap dapat membantu pemula lebih memahami dan menggunakan teknologi pembelajaran mendalam.

Atas ialah kandungan terperinci Panduan Pemula untuk Pembelajaran Mendalam dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn