Kategori arşivi: Genel

Harici Monitor Bağlanmıyor – Ubuntu

Ubuntu üzerinde çalışma yapıyorsanız bu tarz sorunlar ile sürekli karşılacaksınız demektir. En önemli nedenlerinden biri sürücülerinizi güncellememe durumu oluyor. Bu durumda hem sürücülerimi güncellemek istemiyorum hem de harici monitorün çalışmasını istiyorum diyorsanız aşağıdaki yönergeler ile kolayca tekrar kullanabilirsiniz.

Buradaki ilk aşama Nvidia driverlarını kaldırmak olacak. Burada telaş yapacağınız bir durum yok, bir sonraki yazımda sıfırdan nvidia cuda driver nasıl kurulur onları da madde madde açıklayacağım.

Madde 1: Daha önceden yüklemiş olduğunuz Nvidia driver’ı silin. Bu sayede temiz ortam sağlamış olacağız.

sudo apt-get install build-essential dkms linux-headers-$(uname -r) sudo apt-get install libc6-dev libglvnd-dev pkg-config

    Madde 2: Gerekli olan bağımlılıkları yükleyelim.

    sudo apt-get install build-essential dkms linux-headers-$(uname -r)

    sudo apt-get install libc6-dev libglvnd-dev pkg-config

    Madde 3: Grafik sürücüleri ekleyin ve güncelleyin.

    sudo add-apt-repository ppa:graphics-drivers/ppa

    sudo apt-get update

    Madde 4: Nvidia Driver’larını yükleyelim.

    sudo apt-get install nvidia-driver-535

    Madde 5: Değişikliklerin uygulanması için Initramfs’yi güncelleyin ve sistemi yeniden başlatın.

    sudo update-initramfs -u

    sudo reboot

    Madde 6: Bilgisayarınızı yeniden başlatın. Buraya ek not olarak şunu ekleyebilirim; hala bir sorun ile karşılaşırsanız BIOS ayarlarınızdan Secure Boot’u devre dışı bırakın ve sistemi tekrar başlatın.

    Bir sonraki yazımda özellikle Ubuntu kullananlarda büyük bir sorun olan Nvidia CUDA kuruluma değineceğim.

    Herkese iyi çalışmalar 🙂

    Chatbot’lar neden önemlidir?

    Günümüz hizmetlerine dönüp baktığımız zaman hantal işleyen yapılar olduğunu net bir şekilde görebiliriz. Hantal yapıyı daha iyi bir hale getirmek için tek çare yeni bir insan gücü, yeni bir tane daha ve yeniden bir tane daha… İstek ve ihtiyaçların bu denli arttığı günümüz koşullarında aynı paralellikte artan insan gücü ile de çözüm sağlıklı bir şekilde yapılamamaktadır. Sektör bağımsız olarak değerlendirirsek, verilen hizmet ve ödenen para eğrisinin artık ters orantıya doğru kaydığı görülmektedir. Durum işin içinden çıkılamaz bir hal almaya giderken, yepyeni bir teknoloji ve akabinde teknolojinin farklı bir dalı ile karşılaştık. Yapay zeka ve chatbot’lar…

    Araştırmalar bize gösteriyor ki; aldığımız telefonlar teknoloji alanında müthiş bir ilerleme kaydederken, telefonun asıl varoluş nedeni olan arama özelliği git gide azalmaktadır. Bu kırılıma bakmak gerekirse; insanların ihtiyaçlarını karşılayan bir takım özellikleri artık arayarak giderme yerine, browser üzerinde araştırma, twitter içerisinde ilgili konu ile alakalı tweetlere bakmak veya kendi konuşma gruplarında arkadaşlarına sorarak danışma olarak bulabiliriz. En son çare olarak ilgili firmayı arayarak danışma hizmeti alınmaktadır ki bu dünümüz Z kuşağının kesinlikle tercih etmek istediği bir yöntem değildir. Bu durum kullanıcıların gözünden ticari firmalar…

    Peki firmaların gözünden müşterileri değerlendirmek gerekirse; firmalar verilen hizmeti daha iyiye götürmek için bir dizi yenilik getirmek için hem kendi aralarında hemde global alanda ciddi bir rekabet içindeler. Artan müşteri istekleri ve ihtiyaçlarına karşılık verebilmek için ilk aşama teknolojinin gücüne, yetmediği yerde insan gücüne sahip olmaya çalışmaktalar. Firmaların ortak kanısı, müşteriler hizmet ve destek beklediği yerde ciddi bir memnuniyetsizlik duyuyor ve bunu gidermek için personel alımı ve aynı zamanda teknolojiye anlık çözümler için devasa yatırımlar devam etmek zorunda olduklarıydı.

    Hem müşteri hem de firmalar gözünden durumu değerlendirdikten sonra chatbot’lar bu alanın neresinde sorusu aklımıza geliyor. Bu konu bu kadar kısa sürede neden bu denli önemli bir noktaya geldi? Genel olarak yukarıda bahsetmiş olduğum açıkların hepsini kapatabilen bir teknoloji olduğu için iş dünyasında bu kadar sahiplenilen bir teknoloji oldu.

    Sadece yaz! Chatbot’lar sayesinde artık insanların yazmış olduğu yazılardan yazmak istedikleri niyeti anlayabiliyor, aynı zamanda niyetine en uygun çözümü insanlara sunabiliyor. Sürekli manuel olarak bir müdahale gerektirmiyor. Kendi kendine öğrenen sistemlerle yapılar kendini sürekli eğitmekte, geliştirmektedir. Gelişim sayesinde insanlarda değişen ihtiyaçlara daha doğru cevaplar üretebilmekte.

    Kişilleştirilebilmekte! Chatbot’lar aynı zamanda insanların konuşma tarz ve üslüplerine göre yanıt dönebiliyor. Onlara onlar gibi davranabiliyor. Danışmanlı eğitim yaparak istemiş olduğumuz şekilde bot’larımızı yönlendirebiliyoruz.

    Zamanla seni tanıyor! Chatbot’lar ile konuşmaya başladığınız andan itibaren chatbot’lar sizin davranışlarınızı izliyor. Konuşma tarzınızı ve yapmak istediğiniz tüm işlemleri takip ediyor. Bir sonraki sohbette sizi daha çok tanıyan bir chatbot ile karşılaşmanız muhtemel olacak. Her bir konuşmada size karşı tecrübelerinde artış olduğu için sürekli aynı işlemi yapan kişiye, bir sonraki gelişinde “yeniden bu işlemi yapmak ister misiniz?” gibi bir soru ile kendi kendine karar vererek müşteriyi karşılayabiliyor.

    Seni anlıyor! Kurmuş olduğun cümlenin niyetini ayrı, içeriğini ayrı anlıyor ve bunları sonrasında tümceyi geri birleştirip bir anlam üretiyor. En sonunda senin için en doğru olan yanıtı sana geri dönüyor. Hizmet aldığın firmadan daha özel bir bilgi almak istediğin zaman gerekli güvenlik adımlarını geçtikten sonra sana istediğin her türlü bilgiyi anlık olarak sana sağlayabiliyor. Evet, bu teknoloji tam olarak bunu sağlıyor. Telefonun başında hiç bir zaman “Sizi kısa süre bekletiyorum.” mesajını almayacağına garanti verebilirim.

    Zaman değerli! Yapmak istediğin işlem her ne ise bunu tek bir cümle halinde chatbot’lara sorduğun zaman alacağın yanıt, oran olarak eski sisteme göre yarı yarıya fark ediyor.

    Günümüz ihtiyaçlarına baktığınız zaman, hangi sektör olduğu önemsiz olarak diyebilirim ki bu teknolojiyi kendi bünyesine entegre etmeyen firmalar için hazin son sandığımızdan daha yakın olabilir…

    Yapay Sinir Ağlarında Öğrenme

    Yapay sinir sistemlerinde öğrenme en basit hali ile dışarıdan bilgi girişi giriş katmanına aktarılır, girişi yapılan datalar işlenir ve aktivasyon fonksiyonundan geçirilerek bir veya daha fazla çıkış üretilir. Sistemden çıkan sonuç ile beklenen sonuç karşılaştırılır. Aradaki fark oransal olarak daha önceden belirlenen orandan büyük ise, bu işlem değişen algoritma ile tekrar sağlanır. Bu süreç belirlenen hata oranını yakalayana kadar devam eder. Algoritma üzerindeki değişikler çoğunlukla var olan ağın ağırlıkları üzerinden yapılır. Ağırlıklar üzerinde oynanarak aktivasyon fonksiyonu daha efektif bir şekilde kullanılması sağlanmak istenir. Yaşanılan duruma göre oynanan ağırlıklar sonucunda gelinmesi istediğimiz sonuca ulaşma evresine yapay sinir ağlarında öğrenme adını veririz.

    Beklediğimiz sonuca ağırlıkların oynanması ile ulaştıktan sonra, bir sonraki aşamada dış dünyadan edindiğimiz dataların değişimi izlemektedir. Giriş katmanına verilen data değiştirilir ve önceki datadan farklı bir data deseni ile tekrar ağırlıkların doğruluğu hesaplanır. Belirlenen hata oranı bir başka data deseni verildiği zamanda tutuyorsa makinanın istemiş olduğumuz kuralı öğrendiği anlamına gelir.

    Bir ağın öğrenme sürecini maddeler halinde ele alırsak;

    1. Sisteme girilmesini istediğimiz verilerin toplanması gerekmektedir. Veriler sisteme tek tek girilerek ağın problemi öğrenmesi sağlanır. Ağ dışarıdan almış olduğumuz verilerle öğrenmesini tamamladıktan sonra birde test datası oluştururuz. Bu test datası ile ağın ne kadar öğrenip öğrenemediğini test etmemize yarar.
    2. Ağın topolojik yapısı belirlenir. İstenilen sonuca göre uyarlanır. Giriş, gizli katmanlar, çıkış katmanları belirlenir, bu katmanlar arasında hücrelerin ne kadar olacağı bu aşamada belirlenir.
    3. Ağın öğrenme katsayısını toplama ve aktivasyon fonksiyonları, momentum katsayısı, ağırlıkların doğru belirlenmesi gibi parametrelere bağlıdır.
    4. Ağırlıklar başlangıç aşamasında tahmin edilen şekilde verilir. Ağın öğrenmeye başlaması ile ağırlıkların sonuca göre güncellenmesi evresi de başlar.
    5. Ağın ağırlık katsayılarını belirlemek adına test verileri ağın giriş katmanına verilir. Bu sayede ağırlık katsayıları oluşan sonuçlara göre sürekli güncellenir.
    6. Geri hesaplama metodu ile hatanın azaltılması için ağırlıklar güncellenir.
    7. Beklenen sonuç ile çıkan sonuç arasındaki oran istenilen orana yakın olduğu zaman ağın öğrenmesi tamamlanmış olarak kabul edilir.
    8. Öğrenme sürecini tamamlayan ağ yapısına bu sefer dış dünyadan daha farklı veri setleri verilir. Yeni verilen veri setlerinde de ağırlık güncellemesi gerekmez ise ağ yapısı öğrenme sürecini tam anlamı ile tamamlamış kabul edilir.

    Ağa sunulan girdiler için istenen çıktının üretilmesi için belirlenen ağırlık değerleri ilk seferde rastgele verilir. Ağın öğrenme sürecine başlaması ile bu ağırlık değerleri üzerinde sürekli bir güncelleme gerekir.

    Ağın öğrenme sürecinde beklenen hata payı hiç yakalanmayabilir. Bu durum ile karşılaşıldığı zaman ağırlık katsayılarından çok ağın topolojisi, katman mimarisi veya ağa sunulan verilere bakılması gerekir. Altyapıda bir değişiklik yapmak bu durumlarda daha doğru olacaktır.

    Dış dünyadan aldığımız verileri ağ yapısında giriş katmanına veririz ve çıkan çıktıda ağın öğrenmiş olduğunu bekleriz. Öğrenme süreci tamamlanana kadar güncellemeler yapar, ağ yapısından en verimli sonucu almayı amaçlarız. Bir yapay sinir ağ yapısının temelde üç tane öğrenme algoritması vardır. Bunlar; danışmanlı, danışmansız ve takviyeli öğrenmedir.

    1. Danışmanlı Öğrenme

    Bu tip öğrenme sürecinde herhangi bir şekilde öğretenin bulunması gerekmektedir. Var olan probleme ait girdiler ile beraber çıktı değerlerinin de ağ yapısına verilmesi gerekir. Girdi-çıktı karşılıkların tutarlı olabilmesi için modelde bulunan ağırlıklar katsayıları buna göre güncellenmelidir. En uygun değer bulunana kadar ağırlıklar girdi-çıktı verileri baz alınarak güncellenir.

    2. Danışmansız Öğrenme

    Bu öğrenme yönteminde çıktı değerleri sisteme verilmez, sadece dış dünyadan alınan girdi verileri ağ yapısına aktarılır. Ağ yapısından verilen girdileri birbirine yakınlığı baz alınarak sınıflandırması beklenir. Ağırlıklar bu sınıflandırmayı yapabilecek şekilde güncellenir. Ağ yapısı yapması gereken sınıflandırmayı verilen ağırlık katsayılarından anlar. Güncelleme tamamlandığında ağ yapısının öğrenmesi de tamamlanmış sayılır.

    3. Takviyeli Öğrenme

    Bu öğrenme yöntemi çok kullanılmamakla beraber bir öğretici takviyeli öğrenme yönteminde de yoktur. Danışmanlı öğrenme ile kıyaslanırsa bu öğrenme metodolojisinde sisteme çok detay verilmemektedir. Girilen bilgiler karşısında çıkan çıktıya bakılarak, ağ yapısına çıkardığı sonucun doğru veya yanlış ya da iyi veya kötü olduğu söylenir. Verilen bu bilgiyi ağın kullanıp tekrar öğrenmesi amaçlanmaktadır.

    Anaconda’da psutil.AccessDenied (pid=607) hatası

    Çok sıkı bir Anaconda ürünü kullanıcısı olarak geçenlerde aşağıdaki şekilde bir hata aldım ve nedeni hakkında hiç fikrim yoktu. Aslında çok basit olan bu hatanın çözümü de bir hayli basitmiş. Bunu sizlerle paylaşmak istedim.Anaconda üzerinde şu şekilde bir hata alıyorsanız;

    Traceback (most recent call last):
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/psutil/_psosx.py", line 293, in wrapper
    return fun(self, *args, **kwargs)
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/psutil/_psosx.py", line 356, in cmdline
    return cext.proc_cmdline(self.pid)
    PermissionError: [Errno 13] Permission deniedDuring handling of the above exception, another exception occurred:Traceback (most recent call last):
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/anaconda_navigator/exceptions.py", line 75, in exception_handler
    return_value = func(*args, **kwargs)
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/anaconda_navigator/app/start.py", line 108, in start_app
    if misc.load_pid() is None: # A stale lock might be around
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/anaconda_navigator/utils/misc.py", line 384, in load_pid
    cmds = process.cmdline()
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/psutil/__init__.py", line 701, in cmdline
    return self._proc.cmdline()
    File "/Users/deanimal77/anaconda/lib/python3.6/site-packages/psutil/_psosx.py", line 306, in wrapper
    raise AccessDenied(self.pid, self._name)
    psutil.AccessDenied: psutil.AccessDenied (pid=607)

    Bu hatanın nedeni uzun süredir Anaconda’yı restart etmediğinizden dolayı alınan bir hata.

    Bunun için;

    $ anaconda-navigator — reset

    komutu çalıştırmanız sizler için yeterli olacaktır.

    Ek olarak Anaconda’yı da arada update etmenizi öneririm.

    $ conda update anaconda-navigator

    Yeni Dönem Bankacılık Sektöründe Chatbot Kullanımı

    Gelecek dönem ile beraber bizleri bambaşka bir bankacılık deneyimi beklediğini görmek siteye göz atan biri için zor olmayacaktır. Bankacılık sektöründe ilk olarak alışageldiğimiz banka personelini bekleme veya çağrı merkezini arayıp dakikalarca aynı melodiyi dinleme devri yeni dönem yapay zeka teknolojileri ile son bulmaktadır. Bunların dışında sizin sadece işlerinize yönelik bir yardımdan ziyade ek bir akıl koyma olanaklarını gelecek dönemde bizlere sunacağından şüpheniz olmasın.

    Ağır olacak ama gerçek şu ki; Chatbot kavramının yapay zeka teknolojisi ile yapılması halinde, bu kanalda çalışan personellere ihtiyaç kalmayacaktır. Güncellenen bilgiler ile sürekli kanallar veri ile beslenecek, öğrenen insanlar değil makineler olacaktır.

    Banka müşterileri ilk zamanlarda bunu yadırgasalar da bankalar yeni dönemle beraber artık müşterilerini chat veya sesli konuşma gibi kanallara yönlendirecek ve bir zamandan sonra zorunlu hale getireceklerdir. Neden zorunlu derseniz, gelinen noktada zaten müşteri kendi isteği ile çağrı merkezine bağlanmak istemeyecektir. Örneğin; insan gücü ile yapılan 10 dakikalık bir işi 1 dakika içerisinde yapılması müşteriye seçim hakkından çok daha fazlasını sunmak olacaktır.

    Yeni dönem bankacılık ile beraber müşteri yapmak istediği herhangi bir işlemi beyninde düşündüğü tasarladığı gibi yazması veya söze dökmesi bizler için yeterli olacaktır. Kısa vadede gelecek olan yenilik, bankacılık uygulamalarını yapay zeka teknolojisi üzerine konumlandırmak olacaktır. Bankalar ilk aşamada chat ve sonraki süreç içerisinde ses ile destek vermeye başlayacaklardır.

    Tüm bu değişen çevre ve teknoloji koşullarının bu kadar hızlı bir şekilde olmasını beklemek doğru olmaz. Teknoloji ile beraber biz bankacıların gelmesini istediğimiz dünyaya daha çok uzun bir zaman olduğunu söylemem gerekir. Bundan dolayı kısa vadede hiçbir banka kendini tamamen yeni gelişen yapay zeka teknolojisini varındıran altyapılara hemen teslim etmeyecektir. Sürekli bir kontrol mekanizması ile kontrollerden geçecek, yapmak istenen ile yapılan işler birbirleri ile kıyaslanacak ve canlı olarak insan görüşmeleri ilk fazdaki chatbot’un çözemediği işleri çözmeye devam edecektir. Bu süreç uzun vadede başarıyı getirecek ancak acele ile ilk olmak isteyen bankalar içinde bir hüsran olacaktır.

    Bir diğer nokta ise; tekrarlı yapılan her iş gelecek dönemde yapay zeka teknolojisine kayacağı unutulmamalıdır. Tekrarlı yapılan işten kastım banka nezdinde gişe, müşteri hizmetleri, şube operasyonları gibi işleri söyleyebilirim. Herhangi bir katma değeri olmayan, sürekli tekrarlanan aynı işlerin her biri yapay zeka teknolojisi ile yapılacağı için insanlarında artık teknoloji gibi evrilmesinin zamanı gelmiştir. Artık katma değer yaratan, yapılan işe bir zeka koyan işlere insanoğlunun yönelmesi gerekmektedir. Teknolojide çöp olarak görülen tekrarlı işler ile uğraşmaktansa kendine birtakım değerler katmak zorundadır.

    Bankacılık sektörünün gelecek döneminde insanın konuştuğunu anlayan ve ona cevap veren sistemlerin yanında, artık piyasayı tahmin eden, ekonomi alanında faaliyet gösteren, iflas tahmini yapabilen ve gidişatı kurumsal müşterilerine bildirebilen, bireysel veya kurumsal olan müşteri için hisse seçimi yapabilen, seçimleri ile alakalı kar tahmini yapabilen ve yine hem bireysel hem kurumsal müşteriler için finansal planlama yapabilen sistemlere geçilecektir. (Bu konu ile ilgili daha detaylı yazılara önümüzdeki zamanlarda yer vereceğim)

    Tüm bu özellikler ile chatbotların gelecek dönem bankacılık sektöründe beklenildiğini söylemek gerekir. Bu gelişmeler ile beraber daha az personel ile katma değeri daha yüksek işlere odaklanacak olan bankacılık sektörünün gidişatı rekabetin getirdikleri ile beraber daha yüksek seviyelere ulaşacaktır.