Çalışma hayatımın son 10 yılını büyük veri, analitik ve yapay zeka projeleri üzerinde çalışarak geçirdim. Yapay zeka özellikle son 2 yılda geniş kitleler tarafından merak edilen bir konu haline geldi. Bu yazı dizisinde yapay zeka hakkında merak edilen soruların yanıtlarını vermeye çalışacağım. Yazdıklarımın yapay zekayı genel kültür anlamında merak edenlerin yanı sıra konuyla profesyonel olarak ilgilenenlere de hitap etmesini amaçlıyorum. Önce tanımlarla başlayacağım çünkü yapay zeka ile bağlantılı makine öğrenmesi, derin öğrenme, yapay sinir ağları gibi pek çok kavram var. Bu terimleri aralarındaki ilişkilerle birlikte kavramadan konu hakkında bütüncül bir bakış açısına sahip olmak mümkün olmuyor.
Zekiymiş izlenimi yaratabilen sistemler yapay zekâ olarak isimlendiriliyor. Bugün yapay zeka olarak isimlendirilen sistemlerin özünde birer bilgisayar programı olduğunu söyleyebiliriz.
Yapay zekâlı sistemlerin bir bedeni/gövdesi olabiliyor ya da sadece bir yazılım olarak var olabiliyorlar. Gövdesi olan yapay zekâya örnek olarak insan benzeri mobil robotlar ve otonom arabalar verilebilir. Yazılım olarak faaliyet gösteren yapay zekâya ise cep telefonları üzerinde çalışan Siri, Google now, Cortana ve navigasyon uygulamaları verilebilir.
Akıllı bir sistem tasarlamak için geleneksel programlamada girdi veri bir program aracılığıyla işlenerek çıktı veri oluşturuyor. Makine öğrenmesinde girdi ve çıktı veriden yararlanılarak program oluşturuluyor.
Makine öğrenmesi bu bağlamda bir öğrenme algoritması aracılığıyla girdi ve çıktı veriden yararlanarak program yazma işi olarak tanımlanabilir. Problemin bir insanın programını yazamayacağı kadar karmaşık olduğu ve elde büyük miktarda girdi/çıktı verinin olduğu durumlarda makine öğrenmesi yöntemleri kullanılıyor. Dilden dile çeviri bu durum için iyi bir örnek. Dillerin kendine has karmaşık yapısı nedeniyle makine öğrenmesi kullanmadan bir çeviri programı yazmak olağanüstü güçtür. Oysa çeviriye konu iki dilde yeterli hacimde girdi ve çıktı veri (çevrilecek metin ve çevrilmiş metin) olduğunda makine öğrenmesi yöntemleri kullanarak işe yarayan çeviri programları oluşturulabilmektedir.
Bir makine öğrenmesi yöntemi olan derin öğrenme 2010'lu yılların başından itibaren popüler hale geldi. Derin öğrenme yapay sinir ağlarının çok katmanlı olarak uygulaması ile gerçekleşmektedir. Bu yöntemde geleneksel makine öğrenmesi yöntemlerinden farklı olarak veri boyutu çok büyüdüğünde model veri büyüklüğüyle orantılı bir biçimde öğrenmeye devam etmektedir.
Derin öğrenme geleneksel makine öğrenmesi yöntemleriyle işlenemeyen serbest metin, ses, görüntü gibi veri tiplerine başarılı bir biçimde uygulanmaktadır. Derin yapay sinir ağları barındırdıkları katmanlar sayesinde verilerin içeriğindeki hiyerarşileri öğrenebilmektedir.
Verilerin içindeki hiyerarşiye örnek verecek olursak; bir serbest metinde harf, sözcük, cümle ve paragraflardan oluşan bir hiyerarşi bulunmaktadır. Derin yapay sinir ağları hiyerarşik yapısı sayesinde bir sözcüğü öğrendiğinde onu tekrar tekrar öğrenmek zorunda kalmamaktadır. Benzer biçimde, matematiksel olarak tanımlamak çok kolay olmasa da, görüntüler içinde tekrar tekrar karşılaşılan veri grupları da bir iç hiyerarşi oluşturmaktadır. Bir kedinin neye benzediğini öğrenen bir derin yapay öğrenme modeli, analiz ettiği görüntüde kediyi pikseller bazında ele almak yerine bütünsel olarak algılayabilmektedir.
Yapay zekâya ilişkin çıta yıldan yıla yükseliyor, bilgisayarlar neyi başarırsa ardından “ama şunu yapamıyor ki” diyoruz. O yüzden neyin yapay zekâ olduğuna dair tanım epeyce muğlak. Yakın zamana kadar “bilgisayarlar nesneleri tanıyamıyor, biz bir kediyi gördüğümüzde şak diye tanıyoruz” diyorduk. Son 3-4 yılda bilgisayarlar yüzlerce farklı nesneyi fotoğraflar üzerinden %95’in üzerinde doğrulukla tanımaya başladılar. Yapay zekâ algoritmaları facebook’da tanık olduğumuz üzere kişileri resimlerinden tanıyıp otomatik olarak etiketleyebiliyorlar.
Yapay zekâ alanında geleneksel olarak “uzman sistemler”den yararlanılırdı, son zamanlarda makine öğrenmesi yöntemleri popülerlik kazandı. “Uzman sistemler” uzmanların bir hedefe yönelik olarak, tüm olasılıkları öngörüp yapay zekâ programını elle yazması yoluyla oluşturuyor.
Yapay zekâ alanında kullanılan çok sayıda terimi birbirleriyle ilişkilerini de anlayarak kavramak oldukça güç. Kabaca, yapay zekâ makine öğrenmesini kapsar, makine öğrenmesi de derin öğrenmeyi kapsar diyebiliriz. Yapay zeka sistemleri bir ya da birden fazla makine öğrenmesi modeli tarafından oluşturulmuş program kodları ile birlikte, programcılar tarafından elle yazılmış kodları da içerebilir.
Bir bilgisayar programı verilerden nasıl öğrenebilir? Durumu gözünüzde canlandırmanız için örnek bir veri seti üzerinden öğrenen bir algoritma oluşturalım. Amacımız lise öğrencilerin boyunu tahmin eden bir algoritma oluşturmak olsun.
Öğrencinin Adı | Cinsiyeti | Basketbol Oynuyor Mu? | Boyu |
---|---|---|---|
Melisa | Kız | Evet | 168 |
Masal | Kız | Hayır | 159 |
Yiğit | Erkek | Hayır | 175 |
Pelin | Kız | Hayır | 163 |
Selim | Erkek | Hayır | 173 |
Orkun | Erkek | Evet | 189 |
Ayşe | Kız | Evet | 165 |
Öykü | Kız | Hayır | 160 |
Batu | Erkek | Hayır | 176 |
Tunç | Erkek | Evet | 179 |
Nehir | Kız | Hayır | 162 |
Selin | Kız | Evet | 170 |
Hidayet | Erkek | Evet | 187 |
Tablomuzda 4 tür öğrenci var. Basketbol oynayan kızlar, basketbol oynamayan kızlar, basketbol oynayan erkekler ve basketbol oynamayan erkekler. Yukarıdaki tabloya göre her bir gruptaki öğrencilerin ortalama boyunu hesaplayalım.
Cinsiyeti | Basketbol Oynuyor Mu? | Boyu (cm) |
---|---|---|
Kız | Evet | 167,6 |
Kız | Hayır | 161 |
Erkek | Evet | 185 |
Erkek | Hayır | 174,6 |
Aynı gruptaki öğrencilerin boyunun ortalamasını alarak bir boy tahmin algoritması oluşturmuş olduk. Artık bir lise öğrencisinin cinsiyetini ve basketbol oynayıp oynamadığını bildiğimiz durumda boyunu kabaca tahmin edebilen bir algoritmaya sahibiz. Bu algoritmayı başka sınıflardaki öğrencilere de uygulayarak boy tahmini yapabiliriz. Konu hakkında birkaç yorum yapmak istiyorum.
- Bir algoritmanın tahmin yapmak için üzerinde işlem yaptığı verilerin ne anlama geldiğini bilmesi gerekmiyor.
- Kullandığımız örneklem bir tahmin modeli oluşturmak için çok küçüktü, örneklemde basketbol oynamayan 190 cm boyunda bir kız olsaydı tüm modeli bozabilirdi. Görselleştirmek kolay olsun diye çok küçük bir örneklem kullandım.
- Veri setinde sadece boyu tahmin etmekte etkili olabilecek verilere yer verdim. Çok daha fazla girdi veriye sahip olsaydık makine öğrenmesi algoritması denemeler yaparak hangi değişkenlerin etkili olduğunu otomatik olarak bulacak ve onları kullanacaktı. Bu değişkenlerin sayısı yüzlerce hatta binlerce olabilir.
- Örneğimizde kategorik değişkenleri kullanarak sayısal bir değişkeni basitçe ortalama alarak tahmin eden bir model yarattık. Elbette makine öğrenmesi algoritmaları bu kadar basit bir mantıkla çalışmıyor. Amacım olayın mantığının anlaşılmasını sağlamaktı. Ses ve görüntü de benzer bir mantıkla, veriler arasındaki ilişkiler incelenerek modelleniyor.
Terminatör gerçek olsaydı hangi yapay zeka algoritmaları kullanarak çalışırdı? Gördüklerini tanımlamak, duyduğu seslerdeki kelimeleri ayırt etmek ve konuşmak için derin öğrenme modellerinden yararlanırdı. İki ayak üzerinde yürümek, bir nesneyi kavramak ve üzerinde işlem yapmak olağanüstü zor işlemler. Robotlar bu işlemleri de algoritmalar aracılığıyla deneme yanılma yoluyla öğreniyorlar. Terminatör'ün duymak, görmek, hareket etmek ve konuşmak için kullandığı algoritmaların bir üst program aracılığıyla koordine edilmesi gerekiyor. Bu koordinasyon da sağladığında Terminatör artık yeni macerasına hazır hale geliyor.
Benden bugünlük bu kadar. Okuduğunuz için teşekkür ederim.
I'll be back
ENGLISH VERSION
I spent last 10 years working on big data, analytics and artificial intelligence projects. Artificial intelligence has become a matter of curiosity by the masses especially in the last two years. In this series of articles I will try to answer the questions about artificial intelligence. I aim to address ordinary people who wonder about artificial intelligence as well as those who are interested in the subject professionally. I'm going to start with definitions of artificial intelligence, machine learning, deep learning, artificial neural networks, because it is not possible to have a holistic view of the subject without grasping these terms together with the relations between them.
Artificial intelligence refers the systems that create the impression that they are intelligent. Today, the systems called artificial intelligence are essentially computer programs.
Artificial intelligence systems can have a body, or they can only exist as a software. Examples of artificial intelligence with a body are humanoid robots and autonomic cars. Siri, Google Now, Cortana and navigation applications are the examples of software AI operating on mobile devices.
In traditional programming, input data is processed through a program and output data is generated in order to design a system. In machine learning, the program is created using input and output data.
Machine learning can be defined as the task of writing programs automatically by taking advantage of input and output data through a learning algorithm in this context. If the problem is too complicated to be expressed and you have a lot of input / output data in hand, machine learning methods are used. Translation from the one language to another is a good example for this situation. It is extraordinarily difficult to write a translation program without using machine learning algoritms because of the complex nature of the languages. If we have sufficient volumes of input and output data for translation(text to be translated and translated text), translation programs can be created by using machine learning methods.
Deep learning, a method of machine learning, has become popular since the early 2010's. Artificial neural networks are implemented as multilayers in deep learning . In this method, unlike traditional machine learning methods, when the data size grows too large, the model continues to learn proportional to the size of the data.
Deep learning is successfully applied to data types such as free text, audio, images that can not be processed by traditional machine learning methods. Deep artificial neural networks are able to learn the hierarchy of the contents of the data, thanks to the layers they contain.
I would like to give an example of the hierarchy within the data; a free text contains a hierarchy of letters, words, sentences and paragraphs. Deep artificial neural networks do not have to learn it again and again when they learn a word, thanks to its hierarchical structure. Similarly, although it is not so easy to describe mathematically, groups of data that are encountered repeatedly within images also form an internal hierarchy. A deep artificial learning model that learns what a cat looks like is able to perceive the image in a holistic manner rather than treating it pixel by pixel.
Image Source: envano.com
The definition of artificial intelligence is quite vague. Until recently, we said, “computers can't recognize objects, so when we see a cat, we know a cat like that.” Over the past 3-4 years, computers have begun to recognize hundreds of different objects with over 95% accuracy over photographs. Artificial intelligence algorithms can recognize and tag people automatically from their pictures as we witness on Facebook.
Traditionally, "expert systems" have been used in the field of artificial intelligence, and in recent times machine learning methods have gained popularity. "Expert systems" are created by experts to reach a certain target with programs written by experts manually.
It is not easy to grasp the terms used in the field of artificial intelligence without understanding their relationship with each other. Roughly, artificial intelligence includes machine learning and machine learning includes deep learning. Artificial intelligence systems can contain code written by programmers, along with program codes created by one or more machine learning models.
How can a computer program learn from the data? To visualize the situation, let's create an algorithm that learns through a sample dataset. Our goal is to create an algorithm that predicts the length of high school students.
Name | Gender | Playing Basketball? | Height |
---|---|---|---|
Melisa | Girl | Yes | 168 |
Masal | Girl | Yes | 159 |
Yiğit | Boy | No | 175 |
Pelin | Girl | No | 163 |
Selim | Boy | No | 173 |
Orkun | Boy | Yes | 189 |
Ayşe | Girl | Yes | 165 |
Öykü | Girl | No | 160 |
Batu | Boy | No | 176 |
Tunç | Boy | Yes | 179 |
Nehir | Girl | No | 162 |
Selin | Girl | Yes | 170 |
Hidayet | Boy | Yes | 187 |
There are 4 kinds of students in our table. Girls playing basketball, girls not playing basketball, boys playing basketball and boys not playing basketball. According to the table above, let's calculate the average height of the students for each group.
Gender | Playing Basketball? | Avr. Height (cm) |
---|---|---|
Girl | Yes | 167,6 |
Girl | No | 161 |
Boy | Yes | 185 |
Boy | No | 174,6 |
We created a height prediction algorithm based on the average height of the students. Now we have an algorithm that can roughly predict the height of a high school student when we know whether he or she plays basketball or not. By applying this algorithm to students in other classes, we can estimate their height. I'd like to make a few comments on the subject.
- An algorithm does not need to know the meaning of the data it is processing to make a prediction.
- The sample we used was too small to create a prediction model, if there was a 190 cm tall girl who didn't play basketball in the sample, it would disrupt the whole model. I used a small sample to make it easy to visualize.
- I included only the data that could be effective in estimating the length of students. If we had much more input data, the machine learning algorithm would try to find out which variables were effective for prediction and use them automatically. The number of these variables can be hundreds or even thousands.
In this example, we created a model that predicts a numeric variable using categorical variables by simply taking averages. Of course, machine learning algorithms do not work with such a simple logic. My goal was to make the logic clear. Sound and image data are also modeled by examining the relationships between the data.
If The Terminator was real, which artificial intelligence algorithms would it use? He would use deep learning models, to recognize what he saw, distinguish words in voices and speak. Walking on two legs, grasping an object and performing operations on it are extraordinarily difficult missions. Robots learn these processes through trial and error through algorithms. The algorithms used by the terminator to hear, see, act and speak need to be coordinated through a top-level program. When this coordination is provided, The Terminator would be ready for his next adventure.
Thanks for reading.
I'll be back
Cover Image Source: denofgeek.com
Thank you making a point what is Artificial Intelligence. Your 10 experience is what makes your article reliable. I am learning everyday because of blog post like you are doing
Yazı dizisinin devamını bekliyorum. Soluksuz okudum. Örnek uygulamalar olursa harika olur.
Örnek uygulamalara yer veririm. Biraz da bu gibi geri bildirimler doğrultunda şekil vereceğim seriye.
Teşekkürler.Simülasyon ve geleceği hakkındada bi yazır derlerseniz güzel olur.Elon Maskın'ın bu konuda görüşleride kayda değer zira kendisi West World dizi setini de ziyaret etmiş bu konulara meraklı böyle bi proje yaparsa şaşmam ondan.
Teşekkürler öneri için. Yazarım. Hazırlığım olan bir konu.
Bugün yazdım simülasyon yazısını netekim.
Yazı ve paylaşım için teşekkürler! Terminatörün yeni macerasını merakla bekliyoruz :)
Pek yakında😃
You got a 20.57% upvote from @upmewhale courtesy of @muratkbesiroglu!
Earn 100% earning payout by delegating SP to @upmewhale. Visit http://www.upmewhale.com for details!
Tolong di bantu saya dong bang
Merhaba, #tr etiketinde rastladım postlarınıza, diğerlerine de göz attım. ilgimi çeken yazılarınız var, başarılarınızın devamını dilerim.
Teşekkür ederim ☺
This post has received a 15.87 % upvote from @boomerang.
This post has received a 16.50 % upvote from @booster thanks to: @muratkbesiroglu.
You got a 3.21% upvote from @postpromoter courtesy of @muratkbesiroglu!
Want to promote your posts too? Check out the Steem Bot Tracker websitevote for @yabapmatt for witness! for more info. If you would like to support the development of @postpromoter and the bot tracker please
Tebrikler kardesım süper...
Posted using Partiko Android
Teşekkürler :)
Excellent job very interesting friend post I hope you can support me with a vote
Paylaşımlarını keyifle okuduğum nadir insanlardan birisiniz. Çok başarılı yazılar paylaşıyorsunuz. :)
Teşekkür ederim. Yazdıklarıma özen gösteriyorum. Bunun fark edilmesi beni mutlu ediyor.
Çok güzel anlatmışsınız👏🏻
Teşekkür ederim😎
Üstad yine fena güzel bir yazı olmuş. Gayet anlaşılır örnekler verilmesi de ayrı güzel. Eline sağlık.
Teşekkür ederim. Yıllardır üzerinde çalıştığım bir konu olduğu içindir. Yapay zekaya dair epey yazacaklarım var daha.
Gerçekten çok güzel yazmışsınız elinize sağlık
Working on machine learning requires incredibly large amount of datasets. All of these datas has to be classified and prepared accordingly. Otherwise the results might be inaccurate.
Berkeley Deep Drive offers a free set of data which you can use to train your AI.
http://bdd-data.berkeley.edu/