{"id":4494,"date":"2023-05-02T12:14:12","date_gmt":"2023-05-02T09:14:12","guid":{"rendered":"https:\/\/datakapital.com\/blog\/?p=4494"},"modified":"2025-07-20T17:29:07","modified_gmt":"2025-07-20T14:29:07","slug":"konvolusyonel-sinir-aglari-nedir","status":"publish","type":"post","link":"https:\/\/datakapital.com\/blog\/konvolusyonel-sinir-aglari-nedir\/","title":{"rendered":"Konvol\u00fcsyonel Sinir A\u011flar\u0131 Nedir?"},"content":{"rendered":"<p>Konvol\u00fcsyonel Sinir A\u011flar\u0131 (Convolutional Neural Networks veya CNNs), resim, video, metin ve ses gibi girdi verileri \u00fczerinde derin \u00f6\u011frenme algoritmalar\u0131 olarak kullan\u0131lan bir yap\u0131land\u0131r\u0131lm\u0131\u015f \u00f6\u011frenme y\u00f6ntemidir.<\/p>\n<p>Bu a\u011flar, nesne tan\u0131ma, y\u00fcz tan\u0131ma, g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma, nesne tespiti, dil i\u015fleme gibi bir\u00e7ok uygulamada kullan\u0131l\u0131r. CNN&#8217;ler, girdi verilerindeki \u00f6zellikleri tan\u0131mlamak i\u00e7in tasarlanm\u0131\u015f \u00f6zel bir sinir a\u011f\u0131d\u0131r.<\/p>\n<p>CNN&#8217;ler, normal sinir a\u011flar\u0131ndan farkl\u0131 olarak, filtreler veya \u00e7ekirdekler ad\u0131 verilen k\u00fc\u00e7\u00fck matrisler kullanarak girdi verilerindeki \u00f6zellikleri belirler. Bu filtreler, girdi verilerinde kayd\u0131r\u0131l\u0131r ve her konumda bir \u00e7\u0131kt\u0131 \u00fcretir. Bu sayede, a\u011f girdi verilerindeki \u00f6zellikleri \u00f6\u011frenir ve daha sonra bu \u00f6zellikleri daha y\u00fcksek seviyeli \u00f6zelliklere birle\u015ftirir.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-4495\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Sinir-Aglari-Nedir.jpg\" alt=\"Konvol\u00fcsyonel Sinir A\u011flar\u0131 Nas\u0131l \u00c7al\u0131\u015f\u0131r\" width=\"660\" height=\"135\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Sinir-Aglari-Nedir.jpg 660w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Sinir-Aglari-Nedir-300x61.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Sinir-Aglari-Nedir-150x31.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Sinir-Aglari-Nedir-450x92.jpg 450w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/p>\n<p>CNN&#8217;ler, katmanlar aras\u0131nda payla\u015f\u0131lan parametrelerle birle\u015ftirilerek \u00f6\u011frenme s\u00fcrecini h\u0131zland\u0131r\u0131r ve ayn\u0131 zamanda a\u011f\u0131n genelle\u015ftirme yetene\u011fini art\u0131r\u0131r. Bu nedenle, \u00f6zellikle g\u00f6r\u00fcnt\u00fc i\u015flemede, bir\u00e7ok g\u00f6revde y\u00fcksek do\u011fruluk ve performans sa\u011flayan en iyi derin \u00f6\u011frenme y\u00f6ntemlerinden biri olarak kabul edilir.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4496\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Katmanlar.jpg\" alt=\"Yapay Sinir A\u011flar\u0131\" width=\"636\" height=\"292\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Katmanlar.jpg 636w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Katmanlar-300x138.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Katmanlar-150x69.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Konvolusyonel-Katmanlar-450x207.jpg 450w\" sizes=\"(max-width: 636px) 100vw, 636px\" \/><\/p>\n<h2>CNN ile MNIST Nedir?<\/h2>\n<p>MNIST, el yaz\u0131s\u0131 rakamlar\u0131n\u0131n g\u00f6r\u00fcnt\u00fclerinden olu\u015fan bir veri k\u00fcmesidir ve makine \u00f6\u011frenmesi alan\u0131nda yayg\u0131n bir s\u0131n\u0131fland\u0131rma problemi olarak kullan\u0131l\u0131r. CNN&#8217;ler, MNIST gibi resim s\u0131n\u0131fland\u0131rma problemleri i\u00e7in \u00f6zellikle uygun bir derin \u00f6\u011frenme y\u00f6ntemidir.<\/p>\n<p>MNIST veri k\u00fcmesinde, her biri 28&#215;28 piksel boyutunda 60.000 e\u011fitim \u00f6rne\u011fi ve 10.000 test \u00f6rne\u011fi bulunmaktad\u0131r. CNN&#8217;ler, girdi verilerindeki \u00f6zellikleri belirlemek i\u00e7in filtreler veya \u00e7ekirdekler ad\u0131 verilen k\u00fc\u00e7\u00fck matrisler kullan\u0131r. Bu filtreler, girdi verilerinde kayd\u0131r\u0131l\u0131r ve her konumda bir \u00e7\u0131kt\u0131 olu\u015fturur. Bu sayede, a\u011f, girdi verilerindeki \u00f6zellikleri \u00f6\u011frenir ve daha sonra bu \u00f6zellikleri daha y\u00fcksek seviyeli \u00f6zelliklere birle\u015ftirir.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4497\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/MNIST-Kutuphanesi-Kullanimi.jpg\" alt=\"CNN ve MNIST\" width=\"637\" height=\"417\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/MNIST-Kutuphanesi-Kullanimi.jpg 637w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/MNIST-Kutuphanesi-Kullanimi-300x196.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/MNIST-Kutuphanesi-Kullanimi-150x98.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/MNIST-Kutuphanesi-Kullanimi-450x295.jpg 450w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/p>\n<p>MNIST veri k\u00fcmesinde, her bir rakam\u0131n s\u0131n\u0131fland\u0131r\u0131lmas\u0131 i\u00e7in 10 farkl\u0131 s\u0131n\u0131f vard\u0131r. CNN&#8217;ler, bu s\u0131n\u0131fland\u0131rma g\u00f6revini ger\u00e7ekle\u015ftirmek i\u00e7in, ard\u0131\u015f\u0131k katmanlar\u0131nda filtreler kullanarak, girdi verilerindeki \u00f6zellikleri belirler ve bu \u00f6zellikleri daha y\u00fcksek seviyeli \u00f6zelliklere birle\u015ftirir. Son katman, s\u0131n\u0131fland\u0131rma i\u015flemi i\u00e7in bir \u00e7\u0131kt\u0131 \u00fcretir.<\/p>\n<p>CNN&#8217;ler, MNIST veri k\u00fcmesindeki rakamlar\u0131 s\u0131n\u0131fland\u0131rmak i\u00e7in kullan\u0131lan en etkili y\u00f6ntemlerden biridir. \u00d6\u011frenme s\u00fcreci, katmanlar aras\u0131nda payla\u015f\u0131lan parametrelerin birle\u015ftirilmesi sayesinde h\u0131zland\u0131r\u0131l\u0131r ve ayn\u0131 zamanda a\u011f\u0131n genelle\u015ftirme yetene\u011fi art\u0131r\u0131l\u0131r. Sonu\u00e7 olarak, CNN&#8217;ler, MNIST gibi resim s\u0131n\u0131fland\u0131rma problemlerinde y\u00fcksek do\u011fruluk ve performans sa\u011flayan bir derin \u00f6\u011frenme y\u00f6ntemidir.<\/p>\n<h3>CNN ile MNIST Kar\u015f\u0131la\u015ft\u0131r\u0131lmas\u0131<\/h3>\n<ul>\n<li>MNIST veri k\u00fcmesi geleneksel \u00f6zellik \u00e7\u0131karma y\u00f6ntemleri kullan\u0131ld\u0131\u011f\u0131nda bile y\u00fcksek do\u011fruluk oranlar\u0131na sahiptir.<\/li>\n<li>Geleneksel y\u00f6ntemler, \u00f6zellik \u00e7\u0131karma y\u00f6ntemleri kullan\u0131r ve bu \u00f6zellikler daha sonra s\u0131n\u0131fland\u0131rma i\u015flemi i\u00e7in bir \u00f6\u011frenme algoritmas\u0131 taraf\u0131ndan i\u015flenir.<\/li>\n<li>CNN&#8217;ler, \u00f6zellik \u00e7\u0131karma i\u015flevlerini kendili\u011finden \u00f6\u011frenir ve bu sayede daha y\u00fcksek do\u011fruluk oranlar\u0131 elde edilebilir.<\/li>\n<li>CNN&#8217;ler, MNIST veri k\u00fcmesinde y\u00fcksek do\u011fruluk oranlar\u0131 elde etmek i\u00e7in olduk\u00e7a etkili bir y\u00f6ntemdir.<\/li>\n<li>CNN&#8217;lerin kullan\u0131m\u0131, \u00f6zellik \u00e7\u0131karma i\u015flevlerinin kendili\u011finden \u00f6\u011frenilmesi ve \u00f6\u011frenme s\u00fcrecinin h\u0131zland\u0131r\u0131lmas\u0131 nedeniyle, MNIST gibi resim s\u0131n\u0131fland\u0131rma problemlerinde geleneksel y\u00f6ntemlere g\u00f6re daha iyi sonu\u00e7lar verir.<\/li>\n<li>MNIST veri k\u00fcmesi, CNN&#8217;lerin performans\u0131n\u0131n de\u011ferlendirilmesi i\u00e7in s\u0131k s\u0131k kullan\u0131lan bir test platformu haline gelmi\u015ftir.<\/li>\n<\/ul>\n<p><strong>El yaz\u0131s\u0131 rakamlar\u0131n\u0131 s\u0131n\u0131fland\u0131rmak i\u00e7in bir CNN kullanarak MNIST veri k\u00fcmesini e\u011fitmek i\u00e7in \u00f6rnek bir Python kodu a\u015fa\u011f\u0131da verilmi\u015ftir;<\/strong><strong>\u00a0<\/strong><\/p>\n<p><em><strong>import tensorflow as tf<\/strong><\/em><\/p>\n<p><em><strong>from tensorflow.keras.datasets import mnist<\/strong><\/em><\/p>\n<p><em><strong># Veri k\u00fcmesini y\u00fckle<\/strong><\/em><\/p>\n<p><em><strong>(x_train, y_train), (x_test, y_test) = mnist.load_data()<\/strong><\/em><\/p>\n<p><em><strong># Veri k\u00fcmesini normalize et<\/strong><\/em><\/p>\n<p><em><strong>x_train = x_train \/ 255.0<\/strong><\/em><\/p>\n<p><em><strong>x_test = x_test \/ 255.0<\/strong><\/em><\/p>\n<p><em><strong># Modeli olu\u015ftur<\/strong><\/em><\/p>\n<p><em><strong>model = tf.keras.Sequential([<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 tf.keras.layers.Conv2D(32, (3, 3), activation=&#8217;relu&#8217;, input_shape=(28, 28, 1)),<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 tf.keras.layers.MaxPooling2D((2, 2)),<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 tf.keras.layers.Conv2D(64, (3, 3), activation=&#8217;relu&#8217;),<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 tf.keras.layers.MaxPooling2D((2, 2)),<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 tf.keras.layers.Flatten(),<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 tf.keras.layers.Dense(10, activation=&#8217;softmax&#8217;)<\/strong><\/em><\/p>\n<p><em><strong>])<\/strong><\/em><\/p>\n<p><em><strong># Modeli derle<\/strong><\/em><\/p>\n<p><em><strong>model.compile(optimizer=&#8217;adam&#8217;,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 loss=&#8217;sparse_categorical_crossentropy&#8217;,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 metrics=[&#8216;accuracy&#8217;])<\/strong><\/em><\/p>\n<p><em><strong># Modeli e\u011fit<\/strong><\/em><\/p>\n<p><em><strong>model.fit(x_train.reshape(-1, 28, 28, 1), y_train, epochs=5, validation_data=(x_test.reshape(-1, 28, 28, 1), y_test))<\/strong><\/em><\/p>\n<p>Bu kod, <a href=\"https:\/\/datakapital.com\/blog\/tensorflow-ile-yapay-sinir-aglari\/\">TensorFlow k\u00fct\u00fcphanesi kullan\u0131larak<\/a> bir CNN modeli olu\u015fturur ve MNIST veri k\u00fcmesindeki el yaz\u0131s\u0131 rakamlar\u0131 s\u0131n\u0131fland\u0131rmak i\u00e7in e\u011fitir. Modelde iki katmanl\u0131 bir konvol\u00fcsyon katman\u0131, iki katmanl\u0131 bir max pooling katman\u0131 ve bir tam ba\u011flant\u0131l\u0131 katman kullan\u0131l\u0131r. E\u011fitim, 5 epoch boyunca yap\u0131l\u0131r ve her epoch sonunda modelin do\u011frulu\u011fu ekrana yazd\u0131r\u0131l\u0131r.<\/p>\n<h2>CIFAR -10 Nedir?<\/h2>\n<p><a href=\"https:\/\/www.cs.toronto.edu\/~kriz\/cifar.html\" target=\"_blank\" rel=\"noopener\">CIFAR-10, derin \u00f6\u011frenme modellerinin<\/a> performans\u0131n\u0131n de\u011ferlendirilmesi i\u00e7in yayg\u0131n olarak kullan\u0131lan bir g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma veri k\u00fcmesidir. Veri k\u00fcmesi, 10 farkl\u0131 nesne s\u0131n\u0131f\u0131n\u0131 i\u00e7erir ve her s\u0131n\u0131f 6,000 g\u00f6r\u00fcnt\u00fcden olu\u015fur. G\u00f6r\u00fcnt\u00fcler, 32&#215;32 piksel boyutlar\u0131nda renkli g\u00f6r\u00fcnt\u00fclerdir ve s\u0131n\u0131fland\u0131rma problemi, arka plan gibi detaylar\u0131 da i\u00e7eren daha karma\u015f\u0131k ve zorlu bir g\u00f6rev sunar.<\/p>\n<p>CIFAR-10, MNIST veri k\u00fcmesine k\u0131yasla daha b\u00fcy\u00fck ve karma\u015f\u0131k veriler i\u00e7erir ve bu nedenle daha zor bir s\u0131n\u0131fland\u0131rma problemi sunar. Bu veri k\u00fcmesi, derin \u00f6\u011frenme ara\u015ft\u0131rmac\u0131lar\u0131n\u0131n yeni y\u00f6ntemlerini ve model yap\u0131lar\u0131n\u0131 test etmek i\u00e7in s\u0131k s\u0131k kullan\u0131lan bir platformdur. CIFAR-10 veri k\u00fcmesi \u00fczerinde yap\u0131lan sanal yar\u0131\u015fmalar ve s\u0131n\u0131fland\u0131rma yar\u0131\u015fmalar\u0131 da bu veri k\u00fcmesinin \u00f6nemini art\u0131rmaktad\u0131r.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4498\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CIFAR-10-Kutuphanesi-Kurulumu.jpg\" alt=\"CIFAR-10 Nas\u0131l Kurulur\" width=\"646\" height=\"256\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CIFAR-10-Kutuphanesi-Kurulumu.jpg 646w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CIFAR-10-Kutuphanesi-Kurulumu-300x119.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CIFAR-10-Kutuphanesi-Kurulumu-150x59.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CIFAR-10-Kutuphanesi-Kurulumu-450x178.jpg 450w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><\/p>\n<p>CIFAR-10 veri k\u00fcmesi, ayn\u0131 zamanda bilgisayar g\u00f6r\u00fc\u015f\u00fc ara\u015ft\u0131rmalar\u0131nda s\u0131k kullan\u0131lan bir \u00f6rnektir ve \u00f6zellikle konvol\u00fcsyonel sinir a\u011flar\u0131 gibi derin \u00f6\u011frenme modelleri \u00fczerinde \u00e7al\u0131\u015fan ara\u015ft\u0131rmac\u0131lar taraf\u0131ndan s\u0131k s\u0131k kullan\u0131lmaktad\u0131r. Bu veri k\u00fcmesi, farkl\u0131 derin \u00f6\u011frenme modelleri aras\u0131nda kar\u015f\u0131la\u015ft\u0131rmalar yapmak ve performanslar\u0131n\u0131 de\u011ferlendirmek i\u00e7in de s\u0131kl\u0131kla kullan\u0131lmaktad\u0131r.<\/p>\n<p><strong>CIFAR-10 veri k\u00fcmesi \u00fczerinde bir model olu\u015fturmak i\u00e7in PyTorch k\u00fct\u00fcphanesi kullanarak bir \u00f6rnek kod a\u015fa\u011f\u0131daki gibidir;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><em><strong>import torch<\/strong><\/em><\/p>\n<p><em><strong>import torchvision<\/strong><\/em><\/p>\n<p><em><strong>import torchvision.transforms as transforms<\/strong><\/em><\/p>\n<p><em><strong>import torch.nn as nn<\/strong><\/em><\/p>\n<p><em><strong>import torch.optim as optim<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong># CIFAR-10 verilerini y\u00fckleme ve \u00f6n i\u015fleme<\/strong><\/em><\/p>\n<p><em><strong>transform = transforms.Compose(<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 [transforms.ToTensor(),<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0 transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>trainset = torchvision.datasets.CIFAR10(root=&#8217;.\/data&#8217;, train=True,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 download=True, transform=transform)<\/strong><\/em><\/p>\n<p><em><strong>trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 shuffle=True, num_workers=2)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>testset = torchvision.datasets.CIFAR10(root=&#8217;.\/data&#8217;, train=False,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 download=True, transform=transform)<\/strong><\/em><\/p>\n<p><em><strong>testloader = torch.utils.data.DataLoader(testset, batch_size=4,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 shuffle=False, num_workers=2)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong># CIFAR-10 s\u0131n\u0131f isimleri<\/strong><\/em><\/p>\n<p><em><strong>classes = (&#8216;u\u00e7ak&#8217;, &#8216;otomobil&#8217;, &#8216;ku\u015f&#8217;, &#8216;kedi&#8217;,<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &#8216;gazal&#8217;, &#8216;k\u00f6pek&#8217;, &#8216;kurba\u011fa&#8217;, &#8216;at&#8217;, &#8216;gemi&#8217;, &#8216;kamyon&#8217;)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong># CNN modeli olu\u015fturma<\/strong><\/em><\/p>\n<p><em><strong>class Net(nn.Module):<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 def __init__(self):<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 super(Net, self).__init__()<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.conv1 = nn.Conv2d(3, 6, 5)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.pool = nn.MaxPool2d(2, 2)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.conv2 = nn.Conv2d(6, 16, 5)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.fc1 = nn.Linear(16 * 5 * 5, 120)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.fc2 = nn.Linear(120, 84)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 self.fc3 = nn.Linear(84, 10)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 def forward(self, x):<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x = self.pool(F.relu(self.conv1(x)))<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x = self.pool(F.relu(self.conv2(x)))<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x = x.view(-1, 16 * 5 * 5)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x = F.relu(self.fc1(x))<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x = F.relu(self.fc2(x))<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 x = self.fc3(x)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 return x<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>net = Net()<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong># Cross-entropy loss fonksiyonu ve SGD optimizer kullanarak modeli e\u011fitme<\/strong><\/em><\/p>\n<p><em><strong>criterion = nn.CrossEntropyLoss()<\/strong><\/em><\/p>\n<p><em><strong>optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>for epoch in range(2):\u00a0 # 2 epoch i\u00e7in e\u011fitim yap\u0131lacak<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 running_loss = 0.0<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 for i, data in enumerate(trainloader, 0):<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 inputs, labels = data<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 optimizer.zero_grad()<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 outputs = net(inputs)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 loss = criterion(outputs, labels)<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 loss.backward()<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 optimizer.step()<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 running_loss += loss.item()<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if i % 2000 == 1999:\u00a0 # her 2000 batch&#8217;de bir kay\u0131p yazd\u0131r<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 print(&#8216;[%d, %5d] loss: %.3f&#8217; %<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (epoch + 1, i + 1, running_loss \/ 2000))<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 running_loss = 0.0<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>print(&#8216;E\u011fitim tamamland\u0131&#8217;)<\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong># Test verileri \u00fczerinde modelin performans\u0131n\u0131 test etme<\/strong><\/em><\/p>\n<p><em><strong>correct = 0<\/strong><\/em><\/p>\n<p><em><strong>total = 0<\/strong><\/em><\/p>\n<p><em><strong>with torch.no_grad():<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0 for data in testloader:<\/strong><\/em><\/p>\n<p><em><strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 images, labels = data<\/strong><\/em><\/p>\n<h2>Overfitting Problemi Nedir<\/h2>\n<p>Overfitting, bir makine \u00f6\u011frenimi modelinin e\u011fitim verilerine a\u015f\u0131r\u0131 uyum sa\u011flad\u0131\u011f\u0131 ve bu nedenle yeni veriler \u00fczerinde d\u00fc\u015f\u00fck performans g\u00f6sterdi\u011fi bir durumdur. Bu durumda model, e\u011fitim verilerindeki rastgele veya g\u00fcr\u00fclt\u00fcl\u00fc verileri de dahil olmak \u00fczere her bir \u00f6rne\u011fi ezberlemeye e\u011filimlidir.<\/p>\n<p>Overfitting&#8217;i \u00f6nlemek i\u00e7in birka\u00e7 y\u00f6ntem vard\u0131r. Bunlar;<\/p>\n<p><strong>Daha fazla veri toplama<\/strong><\/p>\n<p>Overfitting, genellikle az say\u0131da e\u011fitim verisi oldu\u011funda ortaya \u00e7\u0131kar. Daha fazla veri toplamak, modelin genelleyebilece\u011fi daha fazla \u00f6rnek sa\u011flayabilir.<\/p>\n<p><strong>Model karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 azaltma<\/strong><\/p>\n<p>Daha basit modeller, genellikle daha az overfitting&#8217;e e\u011filimli olabilirler. Bu nedenle, modelin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 azaltmak, overfitting&#8217;i \u00f6nlemek i\u00e7in \u00f6nemli bir y\u00f6ntemdir.<\/p>\n<p><strong>D\u00fczenlile\u015ftirme teknikleri kullanma<\/strong><\/p>\n<p>D\u00fczenlile\u015ftirme, overfitting&#8217;i \u00f6nlemek i\u00e7in kullan\u0131lan bir tekniktir. L1 ve L2 d\u00fczenlile\u015ftirme, dropout ve maksimum norm k\u0131s\u0131tlamalar\u0131 gibi teknikler, modelin a\u015f\u0131r\u0131 uyumunu azaltmak i\u00e7in kullan\u0131labilir.<\/p>\n<p><strong>Dropout kullanma<\/strong><\/p>\n<p>Dropout, a\u011f\u0131n her bir katman\u0131nda rastgele olarak se\u00e7ilen bir dizi n\u00f6ronu devre d\u0131\u015f\u0131 b\u0131rakarak \u00e7al\u0131\u015f\u0131r. Bu, her bir \u00f6\u011frenme d\u00f6ng\u00fcs\u00fcnde farkl\u0131 bir alt k\u00fcmeyle \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan, modelin overfitting&#8217;e e\u011filimini azaltabilir.<\/p>\n<p><strong>Erken durdurma<\/strong><\/p>\n<p>Erken durdurma, modelin overfitting yapmas\u0131n\u0131 \u00f6nlemek i\u00e7in kullan\u0131lan bir ba\u015fka tekniktir. Bu teknik, modelin e\u011fitim verilerindeki performans\u0131 belirli bir e\u015fik de\u011fere ula\u015ft\u0131\u011f\u0131nda e\u011fitimi durdurur.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4499\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Makine-Ogrenimi-Overlifting-Problemi-Cozumu.jpg\" alt=\"Pytorch Overlifting\" width=\"306\" height=\"217\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Makine-Ogrenimi-Overlifting-Problemi-Cozumu.jpg 306w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Makine-Ogrenimi-Overlifting-Problemi-Cozumu-300x213.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Makine-Ogrenimi-Overlifting-Problemi-Cozumu-150x106.jpg 150w\" sizes=\"(max-width: 306px) 100vw, 306px\" \/><\/p>\n<p><strong>\u00d6rnek bir Python kodu ile overfitting \u00f6rne\u011fi a\u015fa\u011f\u0131daki gibi olabilir;<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong><em>from keras.datasets import mnist<\/em><\/strong><\/p>\n<p><strong><em>from keras.models import Sequential<\/em><\/strong><\/p>\n<p><strong><em>from keras.layers import Dense<\/em><\/strong><\/p>\n<p><strong><em>from keras.utils import to_categorical<\/em><\/strong><\/p>\n<p><strong><em># MNIST veri k\u00fcmesini y\u00fckleme<\/em><\/strong><\/p>\n<p><strong><em>(train_images, train_labels), (test_images, test_labels) = mnist.load_data()<\/em><\/strong><\/p>\n<p><strong><em># Veri \u00f6ni\u015fleme<\/em><\/strong><\/p>\n<p><strong><em>train_images = train_images.reshape((60000, 28 * 28))<\/em><\/strong><\/p>\n<p><strong><em>train_images = train_images.astype(&#8216;float32&#8217;) \/ 255<\/em><\/strong><\/p>\n<p><strong><em>test_images = test_images.reshape((10000, 28 * 28))<\/em><\/strong><\/p>\n<p><strong><em>test_images = test_images.astype(&#8216;float32&#8217;) \/ 255<\/em><\/strong><\/p>\n<p><strong><em># Etiketleri kategorik hale getirme<\/em><\/strong><\/p>\n<p><strong><em>train_labels = to_categorical(train_labels)<\/em><\/strong><\/p>\n<p><strong><em>test_labels = to_categorical(test_labels)<\/em><\/strong><\/p>\n<p><strong><em># A\u011f modelini tan\u0131mlama<\/em><\/strong><\/p>\n<p><strong><em>model = Sequential()<\/em><\/strong><\/p>\n<p><strong><em>model.add(Dense(512, activation=&#8217;relu&#8217;, input_shape=(28 * 28,)))<\/em><\/strong><\/p>\n<p><strong><em>model.add(Dense(10, activation=&#8217;softmax&#8217;))<\/em><\/strong><\/p>\n<p><strong><em># Modeli derleme<\/em><\/strong><\/p>\n<p><strong><em>model.compile(optimizer=&#8217;rmsprop&#8217;, loss=&#8217;categorical_crossentropy&#8217;, metrics=[&#8216;accuracy&#8217;])<\/em><\/strong><\/p>\n<p><strong><em># Modeli e\u011fitme<\/em><\/strong><\/p>\n<p><strong><em>history<\/em><\/strong><\/p>\n<h2>Data Augmentation Nedir?<\/h2>\n<p>Data augmentation, makine \u00f6\u011frenimi ve derin \u00f6\u011frenme modellerinde kullan\u0131lan bir tekniktir. Veri art\u0131rma olarak da bilinir ve e\u011fitim verilerinin \u00e7e\u015fitlili\u011fini art\u0131r\u0131rken, modelin genel performans\u0131n\u0131 iyile\u015ftirmeyi ama\u00e7lar.<\/p>\n<p>Data augmentation, \u00f6zellikle s\u0131n\u0131rl\u0131 miktarda veriye sahip oldu\u011fumuz durumlarda \u00e7ok faydal\u0131d\u0131r. \u00d6rne\u011fin, bir nesne alg\u0131lama modeli i\u00e7in, sadece s\u0131n\u0131rl\u0131 say\u0131da nesne g\u00f6r\u00fcnt\u00fcs\u00fcne sahip olabiliriz. Bu durumda, modelin daha iyi genelle\u015ftirme yapabilmesi i\u00e7in, e\u011fitim verilerini \u00e7e\u015fitlendirmek gerekebilir.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4500\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir.jpg\" alt=\"Data Augmentation Nas\u0131l Kullan\u0131l\u0131r?\" width=\"608\" height=\"229\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir.jpg 608w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-300x113.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-150x56.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-450x169.jpg 450w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/p>\n<p>Data augmentation, mevcut verileri de\u011fi\u015ftirerek yeni veriler olu\u015fturur. Bu i\u015flem, g\u00f6r\u00fcnt\u00fclerdeki d\u00f6n\u00fc\u015f\u00fcm, kayd\u0131rma, zoomlama, parlakl\u0131k de\u011fi\u015fimi ve renk de\u011fi\u015fimi gibi \u00e7e\u015fitli teknikler kullan\u0131larak ger\u00e7ekle\u015ftirilir. Bu teknikler, verilerin \u00e7e\u015fitlili\u011fini art\u0131r\u0131r ve modelin ger\u00e7ek d\u00fcnya verilerine daha iyi uyum sa\u011flamas\u0131na yard\u0131mc\u0131 olur.<\/p>\n<p>\u00d6rne\u011fin, bir resim s\u0131n\u0131fland\u0131rma modeli i\u00e7in, aynalama (flip), d\u00f6nd\u00fcrme (rotation), kesme (crop) gibi teknikler kullan\u0131labilir. Bu teknikler sayesinde, model, nesnelerin farkl\u0131 a\u00e7\u0131lardan, farkl\u0131 boyutlarda ve farkl\u0131 konumlarda g\u00f6r\u00fcnd\u00fc\u011f\u00fc \u00e7e\u015fitli resimlere maruz kal\u0131r. Bu da modelin daha genel bir resim anlay\u0131\u015f\u0131 geli\u015ftirmesine yard\u0131mc\u0131 olur.<\/p>\n<p>Data augmentation, derin \u00f6\u011frenme modellerinin genel performans\u0131n\u0131 art\u0131rmak i\u00e7in s\u0131k\u00e7a kullan\u0131lan bir teknik olmas\u0131na ra\u011fmen, a\u015f\u0131r\u0131 \u00f6\u011frenme problemini \u00e7\u00f6zmek i\u00e7in tek ba\u015f\u0131na yeterli de\u011fildir. Bu nedenle, data augmentation teknikleri, d\u00fczenlile\u015ftirme teknikleri gibi di\u011fer tekniklerle birlikte kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h2>Batch Normalization Nedir?<\/h2>\n<p>Batch Normalization, bir derin \u00f6\u011frenme modelindeki her bir katmandan \u00e7\u0131kan aktivasyonlar\u0131n da\u011f\u0131l\u0131m\u0131n\u0131 normalle\u015ftirerek, e\u011fitim s\u00fcrecinde daha h\u0131zl\u0131 ve daha istikrarl\u0131 bir \u015fekilde konverjan sa\u011flamak amac\u0131yla kullan\u0131lan bir y\u00f6ntemdir.<\/p>\n<p>Daha spesifik olarak, Batch Normalization, mini-batch verilerinin ortalamas\u0131n\u0131 ve varyans\u0131n\u0131 hesaplar ve ard\u0131ndan bu de\u011ferleri kullanarak aktivasyonlar\u0131 ortalamas\u0131 0 ve varyans\u0131 1 olan bir normal da\u011f\u0131l\u0131m \u015feklinde yeniden \u00f6l\u00e7eklendir. Bu i\u015flem, verilerdeki kay\u0131p gradientlerin da\u011f\u0131l\u0131m\u0131n\u0131 d\u00fczenleyerek, daha verimli bir \u00f6\u011frenme s\u00fcreci sa\u011flar.<\/p>\n<p><a href=\"https:\/\/machinelearningmastery.com\/batch-normalization-for-training-of-deep-neural-networks\/\" target=\"_blank\" rel=\"noopener\">Batch Normalization<\/a>, ayr\u0131ca a\u015f\u0131r\u0131 uydurma (overfitting) problemlerini de azaltabilir. \u00c7\u00fcnk\u00fc, a\u015f\u0131r\u0131 uydurma problemleri, aktivasyonlar\u0131n da\u011f\u0131l\u0131m\u0131ndaki de\u011fi\u015fkenlik nedeniyle olu\u015fabilir. Batch Normalization, aktivasyonlar\u0131n da\u011f\u0131l\u0131m\u0131n\u0131 dengelerken, a\u015f\u0131r\u0131 uydurma problemlerinin \u00f6nlenmesine yard\u0131mc\u0131 olur.<\/p>\n<p>Batch Normalization, bir\u00e7ok derin \u00f6\u011frenme modelinde yayg\u0131n olarak kullan\u0131lan bir y\u00f6ntemdir ve a\u011f\u0131rl\u0131kl\u0131 olarak konvol\u00fcsyonel sinir a\u011flar\u0131 (CNN&#8217;ler) ve tam ba\u011flant\u0131l\u0131 yap\u0131larda kullan\u0131l\u0131r.<\/p>\n<p>\u00d6rnek bir Batch Normalization uygulamas\u0131;<\/p>\n<p><strong><em>model = Sequential()<\/em><\/strong><\/p>\n<p><strong><em>model.add(Conv2D(32, kernel_size=(3, 3), activation=&#8217;relu&#8217;, input_shape=(28,28,1)))<\/em><\/strong><\/p>\n<p><strong><em>model.add(BatchNormalization())<\/em><\/strong><\/p>\n<p><strong><em>model.add(MaxPooling2D(pool_size=(2, 2)))<\/em><\/strong><\/p>\n<p><strong><em>model.add(Conv2D(64, kernel_size=(3, 3), activation=&#8217;relu&#8217;))<\/em><\/strong><\/p>\n<p><strong><em>model.add(BatchNormalization())<\/em><\/strong><\/p>\n<p><strong><em>model.add(MaxPooling2D(pool_size=(2, 2)))<\/em><\/strong><\/p>\n<p><strong><em>model.add(Flatten())<\/em><\/strong><\/p>\n<p><strong><em>model.add(Dense(128, activation=&#8217;relu&#8217;))<\/em><\/strong><\/p>\n<p><strong><em>model.add(BatchNormalization())<\/em><\/strong><\/p>\n<p><strong><em>model.add(Dense(10, activation=&#8217;softmax&#8217;))<\/em><\/strong><\/p>\n<h2>Konvol\u00fcsyonel Sinir A\u011flar\u0131 Modelleri Kaydetme<\/h2>\n<p>Bir makine \u00f6\u011frenimi modelinin e\u011fitimi, veriler \u00fczerindeki optimize edilmi\u015f parametrelerin bir setini i\u00e7erir. Bu parametreler, modelin verileri nas\u0131l yorumlad\u0131\u011f\u0131 ve gelecekteki tahminleri nas\u0131l yapaca\u011f\u0131 hakk\u0131nda bilgi sa\u011flar. E\u011fitim s\u00fcreci, bir modelin belirli bir veri k\u00fcmesi i\u00e7in \u00f6\u011frenmesini sa\u011flar, ancak modelin sonu\u00e7lar\u0131n\u0131 kullanmak i\u00e7in genellikle e\u011fitim verileri d\u0131\u015f\u0131ndaki yeni verileri kullanmak gerekmektedir.<\/p>\n<p>Bu nedenle, bir modelin e\u011fitilmesi ve sonu\u00e7lar\u0131n\u0131n kaydedilmesi \u00f6nemlidir. Modelin kaydedilmesi, modelin gelecekteki kullan\u0131mlar i\u00e7in kullan\u0131labilir olmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, e\u011fitim s\u00fcrecinde zaman ve \u00e7aba harcanan parametrelerin yeniden kullan\u0131lmas\u0131na da olanak tan\u0131r.<\/p>\n<p>Modellerin kaydedilmesi, bir\u00e7ok farkl\u0131 formatta yap\u0131labilir. Baz\u0131 yayg\u0131n formatlar aras\u0131nda TensorFlow SavedModel, Keras modeli, PyTorch modeli, ONNX modeli ve daha bir\u00e7ok format bulunmaktad\u0131r. Kaydetme s\u00fcreci, bir modelin a\u011f\u0131rl\u0131klar\u0131n\u0131n ve yap\u0131s\u0131n\u0131n uygun bir \u015fekilde saklanmas\u0131n\u0131 i\u00e7erir.<\/p>\n<p>Bir modelin kaydedilmesi, ayn\u0131 zamanda modelin belirli bir noktada e\u011fitimini durdurman\u0131z gerekti\u011finde de \u00f6nemlidir. \u00d6rne\u011fin, bir modelin e\u011fitimi y\u00fcksek bir do\u011fruluk oran\u0131na ula\u015ft\u0131ktan sonra, modelin kaydedilmesi ve daha sonra yeniden kullan\u0131lmas\u0131 m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>Sonu\u00e7 olarak, modellerin kaydedilmesi, bir modelin gelecekteki kullan\u0131mlar\u0131 i\u00e7in haz\u0131r hale getirilmesine yard\u0131mc\u0131 olan \u00f6nemli bir ad\u0131md\u0131r.<\/p>\n<h2>CNN Mimarileri Nedir?<\/h2>\n<p>Konvol\u00fcsyonel sinir a\u011flar\u0131 (CNN&#8217;ler), g\u00f6r\u00fcnt\u00fc i\u015flemede ve s\u0131n\u0131fland\u0131rmada ba\u015far\u0131yla kullan\u0131lan bir derin \u00f6\u011frenme y\u00f6ntemidir. CNN&#8217;lerin temel amac\u0131, g\u00f6r\u00fcnt\u00fclerdeki \u00f6zelliklerin \u00e7\u0131kar\u0131lmas\u0131 ve ard\u0131ndan bu \u00f6zelliklerin kullan\u0131larak do\u011fru s\u0131n\u0131fland\u0131rma yap\u0131lmas\u0131d\u0131r.<\/p>\n<p>CNN&#8217;ler, genellikle birka\u00e7 konvol\u00fcsyonel katman, aktivasyon fonksiyonlar\u0131, havuzlama katmanlar\u0131 ve tam ba\u011flant\u0131l\u0131 katmanlardan olu\u015fur. Konvol\u00fcsyonel katmanlar, g\u00f6r\u00fcnt\u00fcdeki \u00f6zellikleri belirlemek i\u00e7in bir dizi filtre kullan\u0131r. Filtreler, g\u00f6r\u00fcnt\u00fcn\u00fcn farkl\u0131 b\u00f6l\u00fcmlerindeki pikseller aras\u0131nda matematiksel i\u015flemler yaparak \u00f6zellikleri \u00e7\u0131kar\u0131r. Aktivasyon fonksiyonlar\u0131, filtrelerin \u00e7\u0131kard\u0131\u011f\u0131 \u00f6zellikleri birbirine ba\u011flar ve \u00e7\u0131kt\u0131lar\u0131 &#8220;aktive&#8221; ederek sinir a\u011f\u0131na devam etmek i\u00e7in haz\u0131rlar.<\/p>\n<p>Havuzlama katmanlar\u0131, g\u00f6r\u00fcnt\u00fc boyutunu azalt\u0131rken \u00f6nemli \u00f6zelliklerin korunmas\u0131n\u0131 sa\u011flar. Bu, sinir a\u011f\u0131n\u0131n daha az say\u0131da parametreye sahip olmas\u0131na ve daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131na olanak tan\u0131r. Tam ba\u011flant\u0131l\u0131 katmanlar, sinir a\u011f\u0131n\u0131n son \u00e7\u0131kt\u0131s\u0131yla s\u0131n\u0131fland\u0131rma yapmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>CNN&#8217;ler, farkl\u0131 derinliklerde ve karma\u015f\u0131kl\u0131kta farkl\u0131 mimarilere sahip olabilir. \u00d6rne\u011fin, VGGNet, \u00e7ok say\u0131da k\u00fc\u00e7\u00fck boyutlu filtreleri kullanarak g\u00f6r\u00fcnt\u00fc \u00f6zelliklerini \u00e7\u0131karmak i\u00e7in daha derin bir mimari kullan\u0131rken, ResNet, daha derin bir a\u011f\u0131n overfitting sorununu \u00e7\u00f6zmek i\u00e7in blok yap\u0131lar\u0131 kullan\u0131r.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4501\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CNN-Mimarileri-Nasil-Calisir.jpg\" alt=\"CNN Mimarileri Makine \u00d6\u011frenimi\" width=\"619\" height=\"208\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CNN-Mimarileri-Nasil-Calisir.jpg 619w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CNN-Mimarileri-Nasil-Calisir-300x101.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CNN-Mimarileri-Nasil-Calisir-150x50.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/CNN-Mimarileri-Nasil-Calisir-450x151.jpg 450w\" sizes=\"(max-width: 619px) 100vw, 619px\" \/><\/p>\n<p>Sonu\u00e7 olarak, CNN&#8217;ler, derin \u00f6\u011frenmenin \u00f6nemli bir alan\u0131d\u0131r ve geni\u015f bir uygulama yelpazesine sahiptir. G\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rmas\u0131, nesne tan\u0131ma, y\u00fcz tan\u0131ma, do\u011fal dil i\u015fleme gibi alanlarda ba\u015far\u0131l\u0131 sonu\u00e7lar vermektedir.<\/p>\n<h3>CNN Mimarileri Nelerdir?<\/h3>\n<p>CNN mimarileri, birbirinden farkl\u0131 katmanlardan olu\u015fan, derin \u00f6\u011frenme modelleridir. Bu katmanlar, girdi verisini i\u015fleyerek, \u00f6zellik \u00e7\u0131karmak ve s\u0131n\u0131fland\u0131rma yapmak i\u00e7in kullan\u0131l\u0131r. CNN mimarileri, \u00f6zellikle g\u00f6r\u00fcnt\u00fc i\u015fleme alan\u0131nda s\u0131k\u00e7a kullan\u0131l\u0131r.<\/p>\n<p>CNN mimarilerinde kullan\u0131lan katmanlar aras\u0131nda genellikle evri\u015fim (convolutional), havuzlama (pooling), normalle\u015ftirme (normalization) ve tam ba\u011flant\u0131 (fully-connected) katmanlar\u0131 bulunur. Bu katmanlar, farkl\u0131 \u00f6zellikleri \u00e7\u0131karmak, boyutu azaltmak, a\u011f\u0131rl\u0131klar\u0131 \u00f6\u011frenmek ve son s\u0131n\u0131fland\u0131rma i\u00e7in kullanmak gibi i\u015flemleri ger\u00e7ekle\u015ftirir.<\/p>\n<p>\u00d6rnek olarak, AlexNet, VGG, ResNet, Inception ve DenseNet gibi pop\u00fcler CNN mimarileri bulunmaktad\u0131r. Bu mimariler, farkl\u0131 say\u0131da katmanlar ve parametreler kullanarak, farkl\u0131 boyutlardaki veriler \u00fczerinde iyi sonu\u00e7lar vermektedir.<\/p>\n<p>CNN mimarilerinin avantajlar\u0131 aras\u0131nda \u00f6zellikle g\u00f6r\u00fcnt\u00fc i\u015fleme alan\u0131nda y\u00fcksek performans ve \u00f6zellik \u00e7\u0131karma yetenekleri, veri b\u00fcy\u00fctme teknikleri ve \u00f6l\u00e7eklenebilirlik say\u0131labilir. Ancak, daha karma\u015f\u0131k modellerin e\u011fitilmesi daha uzun s\u00fcrebilir ve daha fazla hesaplama g\u00fcc\u00fc gerektirebilir.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4502\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Populer-CNN-Mimarileri.jpg\" alt=\"En Pop\u00fcler CNN Mimarileri\" width=\"582\" height=\"681\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Populer-CNN-Mimarileri.jpg 582w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Populer-CNN-Mimarileri-256x300.jpg 256w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Populer-CNN-Mimarileri-150x176.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Populer-CNN-Mimarileri-450x527.jpg 450w\" sizes=\"(max-width: 582px) 100vw, 582px\" \/><\/p>\n<p>Baz\u0131 pop\u00fcler CNN mimarileri \u015funlard\u0131r;<\/p>\n<p>1-)LeNet-5: 1998 y\u0131l\u0131nda Yann LeCun taraf\u0131ndan tan\u0131t\u0131lan ve ilk ba\u015far\u0131l\u0131 CNN modeli olan LeNet-5, \u00f6zellikle el yaz\u0131s\u0131 rakamlar\u0131n\u0131n s\u0131n\u0131fland\u0131r\u0131lmas\u0131 i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<p>2-) AlexNet: 2012 y\u0131l\u0131nda Alex Krizhevsky taraf\u0131ndan tan\u0131t\u0131lan AlexNet, ImageNet veri k\u00fcmesindeki 1.2 milyon g\u00f6r\u00fcnt\u00fcden olu\u015fan 1,000 s\u0131n\u0131fl\u0131 bir s\u0131n\u0131fland\u0131rma g\u00f6revini ger\u00e7ekle\u015ftirdi ve b\u00fcy\u00fck bir ba\u015far\u0131 elde etti. AlexNet, derin \u00f6\u011frenme alan\u0131nda \u00e7\u0131\u011f\u0131r a\u00e7t\u0131 ve daha sonra bir\u00e7ok farkl\u0131 uygulamada kullan\u0131ld\u0131.<\/p>\n<p>3-)VGG: 2014 y\u0131l\u0131nda Visual Geometry Group (VGG) taraf\u0131ndan tan\u0131t\u0131lan VGG mimarileri, farkl\u0131 derinliklere sahip bir\u00e7ok farkl\u0131 varyasyona sahiptir. Bu mimariler, daha fazla katman kullanarak daha y\u00fcksek performans elde etmeyi ama\u00e7lar.<\/p>\n<p>4-)GoogLeNet: 2014 y\u0131l\u0131nda Google taraf\u0131ndan tan\u0131t\u0131lan GoogLeNet, Inception mimarisi olarak da bilinir. Bu mimari, daha hafif ve daha az parametreli modeller i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<p>5-)ResNet: 2015 y\u0131l\u0131nda Microsoft taraf\u0131ndan tan\u0131t\u0131lan ResNet, son derece derin modeller i\u00e7in tasarlanm\u0131\u015ft\u0131r ve a\u015f\u0131r\u0131 uyum (overfitting) sorunlar\u0131n\u0131 \u00f6nlemek i\u00e7in &#8220;skip connections&#8221; olarak da bilinen ba\u011flant\u0131lar kullan\u0131r.<\/p>\n<h2>Inception ile Resimdeki Objeleri Tan\u0131ma Nedir?<\/h2>\n<p>Inception, Google taraf\u0131ndan geli\u015ftirilmi\u015f bir sinir a\u011f\u0131 mimarisi ve g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma modelidir. Bu model, Convolutional Neural Network (CNN) mimarilerinin performans\u0131n\u0131 art\u0131rmak i\u00e7in tasarlanm\u0131\u015ft\u0131r ve \u00f6zellikle g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma alan\u0131nda b\u00fcy\u00fck bir ba\u015far\u0131 elde etmi\u015ftir. Inception, girdi olarak ald\u0131\u011f\u0131 g\u00f6r\u00fcnt\u00fclerin farkl\u0131 \u00f6zelliklerini ayr\u0131 ayr\u0131 ele alarak farkl\u0131 \u00f6l\u00e7eklerde filtreler kullan\u0131r. B\u00f6ylece, model, g\u00f6r\u00fcnt\u00fcdeki farkl\u0131 nesne t\u00fcrlerini daha iyi tan\u0131mlayabilir.<\/p>\n<p>Inception&#8217;\u0131n temel fikri, girdi g\u00f6r\u00fcnt\u00fcs\u00fcndeki farkl\u0131 \u00f6zelliklerin farkl\u0131 filtreler taraf\u0131ndan ele al\u0131nmas\u0131d\u0131r. Ancak, bu y\u00f6ntem geleneksel CNN mimarilerinde a\u015f\u0131r\u0131 hesaplama maliyetine neden olabilir. Bu nedenle, Inception, modellerin daha verimli hale getirilmesi i\u00e7in \u00e7e\u015fitli yenilikler i\u00e7erir. \u00d6rne\u011fin, Inception modeli, &#8220;1&#215;1 convolution&#8221; ad\u0131 verilen k\u00fc\u00e7\u00fck boyutlu filtreleri kullanarak, girdi g\u00f6r\u00fcnt\u00fcs\u00fcndeki farkl\u0131 \u00f6zellikleri daha verimli bir \u015fekilde ele al\u0131r. Ayr\u0131ca, modeldeki farkl\u0131 bloklar\u0131n paralel i\u015flenmesi, daha h\u0131zl\u0131 bir hesaplama s\u00fcreci sa\u011flar.<\/p>\n<p>Inception modeli, nesne tan\u0131ma, y\u00fcz tan\u0131ma ve do\u011fal dil i\u015fleme gibi alanlarda kullan\u0131lmaktad\u0131r. Bununla birlikte, model, do\u011fruluk oran\u0131n\u0131 daha da art\u0131rmak i\u00e7in \u00e7e\u015fitli iyile\u015ftirmeler yap\u0131larak, farkl\u0131 versiyonlar\u0131 da geli\u015ftirilmi\u015ftir. Bu versiyonlar, daha y\u00fcksek do\u011fruluk oranlar\u0131 elde etmek i\u00e7in farkl\u0131 y\u00f6ntemler kullan\u0131r ve farkl\u0131 filtre boyutlar\u0131, ad\u0131m boyutlar\u0131, blok yap\u0131lar\u0131 ve d\u00fczenleme teknikleri gibi farkl\u0131 parametrelerle ayarlanabilir.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4503\" src=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Inception-Modeli-ve-Resim-Tanima.jpg\" alt=\"Inception Modeli ve Makine \u00d6\u011frenimi\" width=\"576\" height=\"286\" title=\"\" srcset=\"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Inception-Modeli-ve-Resim-Tanima.jpg 576w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Inception-Modeli-ve-Resim-Tanima-300x149.jpg 300w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Inception-Modeli-ve-Resim-Tanima-150x74.jpg 150w, https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Inception-Modeli-ve-Resim-Tanima-450x223.jpg 450w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/p>\n<h2>Transfer Learning Nedir?<\/h2>\n<p>&nbsp;<\/p>\n<p>Transfer Learning, bir makine \u00f6\u011frenimi modelinin, \u00f6nceden e\u011fitilmi\u015f bir modelin \u00f6zelliklerini kullanarak ba\u015fka bir g\u00f6rev i\u00e7in yeniden kullan\u0131lmas\u0131d\u0131r. Bu yakla\u015f\u0131m, bir modelin e\u011fitim verilerinin s\u0131n\u0131rl\u0131 oldu\u011fu veya e\u011fitim i\u00e7in gereken hesaplama kaynaklar\u0131n\u0131n yetersiz oldu\u011fu durumlarda faydal\u0131 olabilir.<\/p>\n<p>Transfer Learning, genellikle bir \u00f6nceden e\u011fitilmi\u015f modelin b\u00fcy\u00fck bir veri k\u00fcmesinde e\u011fitilmesi ve ard\u0131ndan yeni bir g\u00f6rev i\u00e7in kullan\u0131labilen \u00f6zellikler \u00f6\u011frenmesiyle ger\u00e7ekle\u015ftirilir. Bu \u00f6zellikler daha sonra, yeni bir modelin e\u011fitimi s\u0131ras\u0131nda kullanabilmekte ve bu, yeni g\u00f6rev i\u00e7in daha az veri gerektirir ve daha h\u0131zl\u0131 bir e\u011fitim s\u00fcreci sa\u011flar.<\/p>\n<p>\u00d6nceden e\u011fitilmi\u015f modeller, genellikle g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma, nesne tespiti veya do\u011fal dil i\u015fleme gibi alanlarda kullan\u0131lmaktad\u0131r. \u00d6rne\u011fin, bir g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma modeli, bir\u00e7ok farkl\u0131 nesne t\u00fcr\u00fcn\u00fc tan\u0131mak i\u00e7in e\u011fitilmi\u015f olabilir. Bu model, daha sonra nesne tespiti veya g\u00f6r\u00fcnt\u00fc segmentasyonu gibi ba\u015fka bir g\u00f6rev i\u00e7in kullan\u0131labilir, \u00e7\u00fcnk\u00fc bu g\u00f6revler de g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rmaya benzer \u00f6zellikler ta\u015f\u0131r.<\/p>\n<p>Transfer Learning, derin \u00f6\u011frenme alan\u0131nda olduk\u00e7a yayg\u0131n bir tekniktir ve \u00f6zellikle s\u0131n\u0131rl\u0131 veri setleri veya donan\u0131m k\u0131s\u0131tlamalar\u0131 nedeniyle yeni modellerin e\u011fitiminde faydal\u0131d\u0131r. Bu teknik, modelin daha h\u0131zl\u0131 e\u011fitilmesini, daha y\u00fcksek do\u011fruluk oranlar\u0131n\u0131 ve daha az hesaplama kayna\u011f\u0131 kullan\u0131m\u0131n\u0131 m\u00fcmk\u00fcn k\u0131larak, \u00f6zellikle end\u00fcstriyel ve ticari uygulamalarda b\u00fcy\u00fck bir avantaj sa\u011flar.<\/p>\n<h2>G\u00f6rsel Analiz Nedir?<\/h2>\n<p>G\u00f6rsel analiz, bilgisayar\u0131n dijital g\u00f6r\u00fcnt\u00fcleri anlamas\u0131na ve yorumlamas\u0131na olanak tan\u0131yan bir makine \u00f6\u011frenimi alan\u0131d\u0131r. G\u00f6rsel analiz, g\u00f6r\u00fcnt\u00fc i\u015fleme, modelleme ve \u00e7\u0131kar\u0131m yapma teknikleri kullanarak, dijital g\u00f6r\u00fcnt\u00fclerdeki nesneleri ve \u00f6zellikleri tan\u0131mlamay\u0131 ama\u00e7lar.<\/p>\n<p>G\u00f6rsel analiz, genellikle g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma, nesne tespiti, y\u00fcz tan\u0131ma, duygusal analiz ve optik karakter tan\u0131ma gibi farkl\u0131 g\u00f6revler i\u00e7in kullan\u0131l\u0131r. Bu g\u00f6revler, farkl\u0131 makine \u00f6\u011frenimi teknikleri kullan\u0131larak ger\u00e7ekle\u015ftirilir.<\/p>\n<p>\u00d6rne\u011fin, bir g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma algoritmas\u0131, bir g\u00f6r\u00fcnt\u00fcdeki nesnenin hangi s\u0131n\u0131fa ait oldu\u011funu belirleyebilir. Nesne tespiti algoritmalar\u0131 ise, bir g\u00f6r\u00fcnt\u00fcdeki nesneleri s\u0131n\u0131r kutular\u0131yla i\u015faretleyebilir.<\/p>\n<p>G\u00f6rsel analiz, end\u00fcstriyel otomasyon, t\u0131bbi g\u00f6r\u00fcnt\u00fcleme, robotik, g\u00fcvenlik, otomotiv ve e\u011flence end\u00fcstrisi gibi bir\u00e7ok alanda kullan\u0131l\u0131r.<\/p>\n<p>\u00d6rne\u011fin, ara\u00e7lar i\u00e7in geli\u015ftirilen g\u00f6r\u00fcnt\u00fc i\u015fleme teknikleri, s\u00fcr\u00fc\u015f g\u00fcvenli\u011fini art\u0131rmaya yard\u0131mc\u0131 olurken, t\u0131bbi g\u00f6r\u00fcnt\u00fcleme teknolojileri, doktorlar\u0131n hastalar\u0131n te\u015fhis ve tedavisinde yard\u0131mc\u0131 olmas\u0131na imkan sa\u011flar.<\/p>\n<p>G\u00f6rsel analiz, insan g\u00f6z\u00fcne benzer bir \u015fekilde dijital g\u00f6r\u00fcnt\u00fclerin i\u00e7eri\u011fini anlama yetene\u011fi sa\u011flar ve bu nedenle, bilgisayarlar\u0131n daha ak\u0131ll\u0131 ve insanlara daha yak\u0131n hale gelmesine yard\u0131mc\u0131 olan \u00f6nemli bir makine \u00f6\u011frenimi alan\u0131d\u0131r.<\/p>\n<h2>Deep Dream Nedir?<\/h2>\n<p>Deep Dream, Google taraf\u0131ndan geli\u015ftirilen bir g\u00f6r\u00fcnt\u00fc sentezleme tekni\u011fidir. Bu teknik, bir <a href=\"https:\/\/datakapital.com\/blog\/yapay-sinir-aglari-nedir-ve-nasil-calisir\/\">yapay sinir a\u011f\u0131 modeli<\/a> olan Convolutional Neural Network (CNN) kullanarak, bir g\u00f6r\u00fcnt\u00fcdeki \u00f6zellikleri belirlemek ve vurgulamak i\u00e7in tasarlanm\u0131\u015ft\u0131r.<\/p>\n<p>Deep Dream, CNN modellerinin belirli katmanlar\u0131nda olu\u015fan aktivasyonlar\u0131 manip\u00fcle ederek, bir g\u00f6r\u00fcnt\u00fcdeki belirli \u00f6zelliklerin vurgulanmas\u0131n\u0131 sa\u011flar. Bu vurgulama i\u015flemi, g\u00f6r\u00fcnt\u00fcn\u00fcn farkl\u0131 b\u00f6lgelerindeki piksellerin de\u011ferlerindeki de\u011fi\u015fikliklerle ger\u00e7ekle\u015ftirilir ve sonu\u00e7ta, ilgin\u00e7 ve hayali g\u00f6r\u00fcnt\u00fcler elde edilir.<\/p>\n<p>Bu teknik, \u00f6zellikle sanat\u00e7\u0131lar ve g\u00f6rsel efektler tasar\u0131mc\u0131lar\u0131 taraf\u0131ndan kullan\u0131lmaktad\u0131r. \u00d6rne\u011fin, Deep Dream, bir foto\u011fraftaki desenleri, \u015fekilleri ve renkleri vurgulayarak, \u00f6zg\u00fcn ve ilgin\u00e7 g\u00f6rsel efektler olu\u015fturabilir. Ayr\u0131ca, bu teknik, CNN modellerinin farkl\u0131 katmanlar\u0131nda olu\u015fan aktivasyonlar\u0131n incelenmesi i\u00e7in de kullan\u0131labilir ve bu da <a href=\"https:\/\/datakapital.com\/kariyer\/panast-sistem\">derin \u00f6\u011frenme modellerinin<\/a> \u00e7al\u0131\u015fmas\u0131 hakk\u0131nda daha fazla bilgi sa\u011flayabilir.<\/p>\n<p>Deep Dream, ilgin\u00e7 ve e\u011flenceli g\u00f6rseller olu\u015fturma potansiyeli nedeniyle pop\u00fcler bir teknik olmas\u0131na ra\u011fmen, daha geni\u015f bir uygulama alan\u0131na sahip de\u011fildir. Bunun nedeni, Deep Dream&#8217;in, sadece g\u00f6rsel sentezleme i\u00e7in tasarlanm\u0131\u015f olmas\u0131 ve ger\u00e7ek d\u00fcnya uygulamalar\u0131nda pek kullan\u0131\u015fl\u0131 olmamas\u0131d\u0131r.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Konvol\u00fcsyonel Sinir A\u011flar\u0131 (Convolutional Neural Networks veya CNNs), resim, video, metin ve ses gibi girdi verileri \u00fczerinde derin \u00f6\u011frenme algoritmalar\u0131 olarak kullan\u0131lan bir yap\u0131land\u0131r\u0131lm\u0131\u015f \u00f6\u011frenme y\u00f6ntemidir. Bu a\u011flar, nesne tan\u0131ma, y\u00fcz tan\u0131ma, g\u00f6r\u00fcnt\u00fc s\u0131n\u0131fland\u0131rma, nesne tespiti, dil i\u015fleme gibi bir\u00e7ok uygulamada kullan\u0131l\u0131r. CNN&#8217;ler, girdi verilerindeki \u00f6zellikleri tan\u0131mlamak i\u00e7in tasarlanm\u0131\u015f \u00f6zel bir sinir a\u011f\u0131d\u0131r. CNN&#8217;ler, normal<\/p>\n","protected":false},"author":12,"featured_media":4500,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,38],"tags":[343,341,333,342,328,316],"class_list":["post-4494","post","type-post","status-publish","format-standard","has-post-thumbnail","category-kitle-ilgisi-ve-etkilesim","category-python-ile-veri-isleme","tag-cifar-10","tag-cnn","tag-derin-ogrenme","tag-mnist","tag-tensorflow","tag-yapay-sinir-aglari"],"better_featured_image":{"id":4500,"alt_text":"Data Augmentation Nas\u0131l Kullan\u0131l\u0131r?","caption":"","description":"","media_type":"image","media_details":{"width":608,"height":229,"file":"2023\/05\/Data-Augmentation-nedir.jpg","filesize":39497,"sizes":{"medium":{"file":"Data-Augmentation-nedir-300x113.jpg","width":300,"height":113,"mime-type":"image\/jpeg","filesize":8208,"source_url":"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-300x113.jpg"},"thumbnail":{"file":"Data-Augmentation-nedir-150x150.jpg","width":150,"height":150,"mime-type":"image\/jpeg","filesize":4327,"source_url":"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-150x150.jpg"},"bunyad-small":{"file":"Data-Augmentation-nedir-150x56.jpg","width":150,"height":56,"mime-type":"image\/jpeg","filesize":2903,"source_url":"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-150x56.jpg"},"bunyad-medium":{"file":"Data-Augmentation-nedir-450x169.jpg","width":450,"height":169,"mime-type":"image\/jpeg","filesize":13736,"source_url":"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir-450x169.jpg"}},"image_meta":{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0","keywords":[]}},"post":4494,"source_url":"https:\/\/datakapital.com\/blog\/wp-content\/uploads\/2023\/05\/Data-Augmentation-nedir.jpg"},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/posts\/4494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/comments?post=4494"}],"version-history":[{"count":1,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/posts\/4494\/revisions"}],"predecessor-version":[{"id":4504,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/posts\/4494\/revisions\/4504"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/media\/4500"}],"wp:attachment":[{"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/media?parent=4494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/categories?post=4494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/datakapital.com\/blog\/wp-json\/wp\/v2\/tags?post=4494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}