Yapay zeka (AI) mimarisi tasarımı
Yapay zeka (AI), bilgisayarın akıllı insan davranışlarını taklit etme özelliğidir. Makineler yapay zeka aracılığıyla görüntüleri analiz edebilir, konuşmayı anlayabilir, doğal yollarla etkileşim kurabilir ve verileri kullanarak tahminlerde bulunabilir.
Yapay zeka kavramları
Algoritma
Algoritma, bir sorunu çözmek veya bir veri kümesini analiz etmek için kullanılan hesaplamalar ve kurallar dizisidir. Sorulmaya yönelik adım adım yönergeler içeren ancak matematik ve programlama koduyla yazılmış bir akış grafiği gibidir. Algoritma, bir evcil hayvanın kedi, köpek, balık, kuş veya kertenkele olup olmadığının nasıl belirleneceğini açıklamaktadır. Çok daha karmaşık bir algoritma, yazılı veya konuşulan bir dili tanımlamayı, sözcüklerini analiz etme, farklı bir dile çevirmeyi ve ardından çevirinin doğruluğunu denetlemeyi açıklamaktadır.
Makine öğrenimi
Makine öğrenmesi (ML), tahmine dayalı modeller oluşturmak için matematiksel algoritmalar kullanan bir yapay zeka tekniğidir. Algoritma, veri alanlarını ayrıştırmak ve model oluşturmak için içinde bulunan desenleri kullanarak bu verilerden "öğrenmek" için kullanılır. Bu modeller daha sonra yeni veriler hakkında bilinçli tahminler veya kararlar almak için kullanılır.
Tahmine dayalı modeller bilinen verilere göre doğrulanır, belirli iş senaryoları için seçilen performans ölçümleriyle ölçülür ve sonra gerektiğinde ayarlanır. Bu öğrenme ve doğrulama sürecine eğitim adı verilir. Düzenli aralıklarla yeniden eğitme sayesinde ML modelleri zaman içinde geliştirilir.
Derin öğrenme
Derin öğrenme , tahminlerinin doğru olup olmadığını belirleyebilen bir ml türüdür. Ayrıca verileri analiz etmek için algoritmalar kullanır, ancak bunu ML'den daha büyük bir ölçekte yapar.
Derin öğrenme, birden çok algoritma katmanından oluşan yapay sinir ağlarını kullanır. Her katman gelen verilere bakar, kendi özel analizini gerçekleştirir ve diğer katmanların anlayabileceği bir çıkış üretir. Daha sonra bu çıkış, farklı bir algoritmanın kendi çözümlemesini yaptığı bir sonraki katmana geçirilir ve bu şekilde devam eder.
Her sinir ağında birçok katmanla ve bazen birden çok sinir ağı kullanarak bir makine kendi veri işleme yoluyla öğrenebilir. Bu, ML'den çok daha fazla veri ve çok daha fazla bilgi işlem gücü gerektirir.
Botlar
Bot, belirli bir görevi gerçekleştirmek için tasarlanmış otomatik bir yazılım programıdır. Bunu vücudu olmayan bir robot olarak düşün. İlk botlar nispeten basitti, nispeten basit algoritmik mantıkla yinelenen ve hacimli görevleri işliıyordu. Buna örnek olarak, arama motorları tarafından web içeriğini otomatik olarak araştırmak ve katalog uygulamak için kullanılan web gezginleri örnek olarak verilmiştir.
Botlar, insan etkinliğini ve karar alma sürecini taklit etmek için yapay zekayı ve diğer teknolojileri kullanarak çoğunlukla metin ve hatta konuşma yoluyla doğrudan insanlarla etkileşim kurarken çok daha karmaşık hale gelmiştir. Örnek olarak akşam yemeği rezervasyonu alabilen botlar, müşteri hizmetleri etkileşimlerine yardımcı olan sohbet botları (veya konuşma yapay zekası) ve sosyal medya sitelerine son dakika haberleri veya bilimsel veriler yayınlayan sosyal botlar verilebilir.
Microsoft, kurumsal düzeyde bot geliştirme amacıyla oluşturulmuş yönetilen bir hizmet olan Azure Bot Hizmeti sunar.
Otonom sistemler
Otonom sistemler , temel otomasyonun ötesine geçen gelişen yeni bir sınıfın parçasıdır. Belirli bir görevi çok az varyasyonla veya hiç değişiklik olmadan tekrar tekrar gerçekleştirmek yerine (botlar gibi) otonom sistemler, istenen hedefe ulaşmak için değişen ortamlara uyum sağlayabilmeleri için makinelere zeka getirir.
Akıllı binalar aydınlatma, havalandırma, klima ve güvenlik gibi işlemleri otomatik olarak denetlemek için otonom sistemler kullanır. Daha gelişmiş bir örnek, iç kısmını ayrıntılı bir şekilde eşlemek, hangi bölümlerin yapısal olarak sağlam olduğunu belirlemek, nefes alabilirlik için havayı analiz etmek ve uzak uçta gerçek zamanlı bir insan izlemesi olmadan kurtarma ihtiyacı olan kapana kısılmış madencilerin işaretlerini tespit etmek için daraltılmış bir maden milini keşfeden, kendi kendine yönlendirilmiş bir robot olabilir.
Microsoft AI hakkında genel bilgiler
Microsoft AI hakkında daha fazla bilgi edinin ve ilgili haberleri takip edin:
Üst düzey mimari türleri
Önceden oluşturulmuş yapay zeka
Önceden oluşturulmuş yapay zeka , kullanıma hazır yapay zeka modelleri, hizmetleri ve API'leri gibi tam olarak göründüğü gibidir. Bunlar, veri toplamak ve ardından kendi modellerinizi oluşturmak, eğitmek ve yayımlamak zorunda kalmadan uygulamalara, web sitelerine ve akışlara zeka eklemenize yardımcı olur.
Önceden oluşturulmuş yapay zekanın bir örneği, olduğu gibi birleştirilebilir veya daha fazla özel eğitim için temel sağlamak için kullanılabilecek önceden eğitilmiş bir model olabilir. Bir diğer örnek de doğal dili istenen şekilde işlemek için istenebilecek bulut tabanlı bir API hizmeti olabilir.
Azure Bilişsel Hizmetler
Bilişsel Hizmetler , geliştiricilere önceden oluşturulmuş API'leri ve tümleştirme araç setlerini kullanarak görebilen, duyabilen, konuşabilen, anlayan ve hatta mantık yürütmeye başlayan uygulamalar oluşturma fırsatı sunar. Bilişsel Hizmetler içindeki hizmet kataloğu beş ana yapı taşı olarak sınıflandırılabilir: Görüntü İşleme, Konuşma, Dil, Web Araması ve Karar/Öneri.
AI Builder'da önceden oluşturulmuş yapay zeka modelleri
AI Builder, kodlama veya veri bilimi becerileriniz olmasa bile uygulamalarınıza yapay zeka eklemek için nokta ve tıklama arabirimi sağlayan Microsoft Power Platform'daki yeni bir özelliktir. (AI Builder'daki bazı özellikler henüz genel kullanıma sunulmadı ve önizleme durumunda kaldı. Daha fazla bilgi için Bölgeye göre özellik kullanılabilirliği sayfasına bakın.)
Kendi modellerinizi oluşturabilir ve eğitebilirsiniz, ancak AI Builder ayrıca hemen kullanıma hazır olan önceden oluşturulmuş belirli yapay zeka modelleri de sağlar. Örneğin, Microsoft Power Apps'te kartvizitlerden kişi bilgilerini tanıyan önceden oluşturulmuş bir modeli temel alan bir bileşen ekleyebilirsiniz.
Özel yapay zeka
Önceden oluşturulmuş yapay zeka kullanışlı (ve giderek daha esnek) olsa da, yapay zekadan ihtiyacınız olan şeyleri edinmenin en iyi yolu muhtemelen bir sistem oluşturmaktır. Bu açıkça çok derin ve karmaşık bir konudur, ancak şimdi ele aldığımız konuların ötesinde bazı temel kavramlara göz atalım.
Kod dilleri
Yapay zekanın temel kavramı, verileri analiz etmek ve bunları yararlı şekillerde açıklamak (veya puan vermek) için modeller oluşturmak için algoritmaların kullanılmasıdır. Algoritmalar, programlama kodu kullanılarak geliştiriciler ve veri bilimcileri (ve bazen de diğer algoritmalar) tarafından yazılır. Yapay zeka geliştirme için en popüler programlama dillerinden ikisi şu anda Python ve R'dır.
Python genel amaçlı, üst düzey bir programlama dilidir. Okunabilirliği vurgulayan basit, öğrenmesi kolay bir söz dizimine sahiptir. Derleme adımı yoktur. Python büyük bir standart kitaplığa sahiptir, ancak modül ve paket ekleme özelliğini de destekler. Bu, modülerliği teşvik eder ve gerektiğinde özellikleri genişletmenize olanak tanır. Azure'da kullanıma sunulanlar da dahil olmak üzere Python için yapay zeka ve ML kitaplıklarından oluşan büyük ve büyüyen bir ekosistem vardır.
scikit-learn. Python için açık kaynak ML kitaplığı
PyTorch. Derin öğrenme, görüntü işleme, doğal dil işleme ve daha fazlası için kullanılabilecek zengin bir ekosisteme sahip açık kaynak Python kitaplığı
TensorFlow. ML uygulamaları ve sinir ağları için de kullanılan açık kaynak sembolik matematik kitaplığı
R, istatistiksel bilgi işlem ve grafikler için bir dil ve ortamdır. Geniş sosyal ve pazarlama eğilimlerinin çevrimiçi haritalanmasından finans ve iklim modellerinin geliştirilmesine kadar her şey için kullanılabilir.
Microsoft, R programlama dilini tamamen benimsemiştir ve R geliştiricilerinin kodlarını Azure'da çalıştırması için birçok farklı seçenek sunar.
Microsoft R Open. Windows ve Linux tabanlı platformlara yönelik desteğin yanı sıra geliştirilmiş performans ve yeniden üretilebilirlik özellikleriyle R-3.5.3 ile tamamen uyumlu, Microsoft'un gelişmiş R dağıtımı
Eğitim
Eğitim, makine öğrenmesi için temeldir. Bu, verileri analiz etmek ve ondan doğru tahminler yapmak için kullanılan modeller oluşturmak için bir algoritmayı "öğretmek" için yinelemeli bir süreçtir. Pratikte bu işlemin üç genel aşaması vardır: eğitim, doğrulama ve test.
Eğitim aşamasında, tek tek alanların tanımlanabilmesi için bilinen verilerden oluşan bir kalite kümesi etiketlenir. Etiketli veriler, belirli bir tahminde bulunmak için yapılandırılmış bir algoritmaya beslenir. İşlem tamamlandığında algoritma, bulduğu desenleri parametre kümesi olarak tanımlayan bir model oluşturur. Doğrulama sırasında yeni veriler etiketlenip modeli test etmek için kullanılır. Algoritma gerektiğinde ayarlanır ve büyük olasılıkla daha fazla eğitimden geçer. Son olarak, test aşaması hiçbir etiket veya önceden seçilmiş hedef olmadan gerçek dünya verilerini kullanır. Modelin sonuçlarının doğru olduğu varsayıldığında kullanıma hazır olduğu kabul edilir ve dağıtılabilir.
Hiper parametre ayarı
Hiper parametreler , eğitim sürecinin kendisini yöneten veri değişkenleridir. Bunlar, algoritmanın nasıl çalıştığını denetleen yapılandırma değişkenleridir. Bu nedenle hiper parametreler genellikle model eğitimi başlamadan önce ayarlanır ve eğitim sürecinde parametrelerin olduğu şekilde değiştirilmez. Hiper parametre ayarlaması, eğitim görevi içinde deneme çalıştırmayı, işi ne kadar iyi tamamladıklarını değerlendirmeyi ve sonra gerektiğinde ayarlamayı içerir. Bu işlem, her biri farklı hiper parametre aileleri kullanılarak eğitilen birden çok model oluşturur.
Model seçimi
Eğitim ve hiper parametre ayarlama süreci çok sayıda aday model üretir. Bunlar, verileri hazırlamak için gereken çaba, modelin esnekliği, işlem süresi miktarı ve elbette sonuçlarının doğruluk derecesi gibi birçok farklı varyansa sahip olabilir. İhtiyaçlarınız ve kısıtlamalarınız için en iyi eğitilmiş modelin seçilmesi model selection olarak adlandırılır, ancak bu eğitimden önce önceden planlamayla ilgili olduğu kadar, en iyi çalışan modeli seçmekle de alakalıdır.
Otomatik makine öğrenmesi (AutoML)
AutoML olarak da bilinen otomatik makine öğrenmesi, makine öğrenmesi modeli geliştirmenin zaman alan ve yinelemeli görevlerini otomatikleştirme işlemidir. Üretime hazır ML modellerini almak için gereken süreyi önemli ölçüde azaltabilir. Otomatik ML, kapsamlı programlama veya etki alanı bilgisi gerektirmeden model seçimi, hiper parametre ayarlama, model eğitimi ve diğer görevlere yardımcı olabilir.
Puanlama
Puanlamatahmin olarak da adlandırılır ve bazı yeni giriş verileri göz önüne alındığında eğitilmiş bir makine öğrenmesi modelini temel alan değerler oluşturma işlemidir. Oluşturulan değerler veya puanlar gelecekteki değerlerin tahminlerini temsil edebilir, ancak olası bir kategoriyi veya sonucu da temsil edebilir. Puanlama işlemi birçok farklı türde değer oluşturabilir:
Önerilen öğelerin listesi ve benzerlik puanı
Zaman serisi modelleri ve regresyon modelleri için sayısal değerler
Yeni bir girişin mevcut bir kategoriye ait olma olasılığını gösteren olasılık değeri
Yeni öğenin en çok benzer olduğu kategorinin veya kümenin adı
Sınıflandırma modelleri için tahmin edilen bir sınıf veya sonuç
Toplu puanlama , verilerin belirli bir sabit süre içinde toplanıp toplu olarak işlenmesidir. Bu, iş raporları oluşturma veya müşteri bağlılığını analiz etme gibi işlemler içerebilir.
Gerçek zamanlı puanlama , devam eden ve mümkün olan en kısa sürede gerçekleştirilen tam olarak bu puanlamadır. Klasik örnek kredi kartı sahtekarlığı algılamadır, ancak gerçek zamanlı puanlama konuşma tanıma, tıbbi teşhisler, pazar analizleri ve diğer birçok uygulamada da kullanılabilir.
Azure'da özel yapay zeka hakkında genel bilgiler
Azure GitHub deposunda özel yapay zeka. Geliştiricilerin yapay zeka iş yükleri için Azure'ı etkili bir şekilde kullanmasına yardımcı olacak betikler ve öğreticiler koleksiyonu
Azure Machine Learning hizmeti örnek not defterleri (Python). Azure Machine Learning Python SDK'sını gösteren örnek not defterlerinden oluşan bir GitHub deposu
Azure yapay zeka platformu teklifleri
Aşağıda ihtiyaçlarınıza yönelik yapay zeka çözümleri geliştirmek için kullanabileceğiniz Azure teknolojilerinin, platformlarının ve hizmetlerinin dökümü yer alır.
Azure Machine Learning
Bu, modelleri daha hızlı derlemek ve dağıtmak için kurumsal düzeyde bir makine öğrenmesi hizmetidir. Azure Machine Learning, makine öğrenmesi modellerinizi ve işlem hatlarınızı büyük ölçekte hızla eğitip dağıtabilmeniz için web arabirimleri ve SDK'lar sunar. PyTorch, TensorFlow ve scikit-learn gibi açık kaynak Python çerçeveleri aracılığıyla bu özellikleri kullanın.
Azure Machine Learning nedir? Birçok öğrenme kaynağına, SDK'ya, belgeye ve daha fazlasına bağlantılar içeren genel yönlendirme
Azure için makine öğrenmesi başvuru mimarileri
Azure otomatik makine öğrenmesi
Azure, otomatik ML için kapsamlı destek sağlar. Geliştiriciler kod içermeyen bir kullanıcı arabirimi kullanarak veya kod öncelikli not defterleri deneyimi aracılığıyla modeller oluşturabilir.
Azure Bilişsel Hizmetler
Bu, akıllı uygulamalar oluşturmanıza yardımcı olmak için kapsamlı bir yapay zeka hizmetleri ve bilişsel API ailesidir. Etki alanına özgü, önceden eğitilmiş bu yapay zeka modelleri verilerinizle özelleştirilebilir.
Azure Bilişsel Arama
Bu, mobil ve web uygulaması geliştirme için yapay zeka destekli bir bulut arama hizmetidir. Hizmet, özel heterojen içerik üzerinde arama yapabilir ve içeriğiniz yapılandırılmamış veya ham biçimde aranamazsa yapay zeka zenginleştirme seçenekleriyle birlikte kullanılabilir.
Azure Bot Hizmeti
Bu, hızlı bir şekilde kullanmaya başlamak için kullanıma hazır şablonlara sahip amaca yönelik bir bot geliştirme ortamıdır.
Azure'da Apache Spark
Apache Spark, büyük veri analizi uygulamalarının performansını artırmak üzere bellek içi işlemeyi destekleyen paralel işleme altyapısıdır. Spark, bellek içi küme hesaplama için temel bileşenleri sunar. Spark işi verileri belleğe yükleyip önbelleğe alabilir ve tekrar tekrar sorgulayabilir. Bu, Hadoop gibi disk tabanlı uygulamalardan çok daha hızlıdır.
Azure HDInsight'ta Apache Spark , Buluttaki Apache Spark'ın Microsoft uygulamasıdır. HDInsight'taki Spark kümeleri Azure Depolama ve Azure Data Lake Storage ile uyumlu olduğundan, Azure'da depolanan verilerinizi işlemek için HDInsight Spark kümelerini kullanabilirsiniz.
Apache Spark için Microsoft Machine Learning kitaplığı MMLSpark'tır (Apache Spark için Microsoft ML). Spark ekosistemine birçok derin öğrenme ve veri bilimi aracı, ağ özellikleri ve üretim sınıfı performans ekleyen açık kaynak bir kitaplıktır. MMLSpark özellikleri ve özellikleri hakkında daha fazla bilgi edinin.
Azure HDInsight'a genel bakış. Hızlı başlangıçlara ve öğreticilere yönelik işaretçilerle birlikte özellikler, küme mimarisi ve kullanım örnekleri hakkında temel bilgiler.
Machine Learning için Azure Databricks Runtime
Azure Databricks , tek tıklamayla kurulum, kolaylaştırılmış iş akışları ve veri bilimcileri, mühendisler ve iş analistleri arasında işbirliğine yönelik etkileşimli bir çalışma alanı ile Apache Spark tabanlı bir analiz platformudur.
Machine Learning için Databricks Runtime (Databricks Runtime ML), dağıtılmış eğitim için gereken tüm kitaplıklarla bir Databricks kümesi başlatmanıza olanak tanır. Makine öğrenmesi ve veri bilimi için kullanıma hazır bir ortam sağlar. Ayrıca TensorFlow, PyTorch, Keras ve XGBoost gibi birçok popüler kitaplık içerir. Horovod kullanarak dağıtılmış eğitim gerçekleştirmeyi de destekler.
Müşteri hikayeleri
Farklı sektörler yapay zekayı yenilikçi ve ilham verici yollarla uyguluyor. Aşağıda bir dizi müşteri örnek olay incelemesi ve başarı hikayesi yer alır:
Sonraki adımlar
Microsoft tarafından sunulan yapay zeka geliştirme ürünleri hakkında bilgi edinmek için Microsoft yapay zeka platformu sayfasına bakın.
Yapay zeka çözümleri geliştirme hakkında eğitim için bkz. Microsoft AI School.
GitHub'da Microsoft AI: Örnekler, başvuru mimarileri ve en iyi yöntemler Microsoft açık kaynak yapay zeka tabanlı depoları düzenleyerek öğreticiler ve öğrenme malzemeleri sağlar.