Biyoinformatik | Derin Öğrenme (Deep Learning)
Güncelleme tarihi: 17 Şub 2021
Ayşegül MURAT - Ege Üniversitesi Sağlık Biyoinformatiği A.B.D., Doktora Öğrencisi
COVID-19 ile savaşmak için, derin öğrenmenin araştırmalara yardımcı olduğunu biliyor musunuz? Yapay Zeka’nın büyük resminde bir parça olan bu derin öğrenmede nedir?[1] En başarılı makine öğrenme algoritmalarından biri olan derin öğrenme için, biyoinformatik alanında DNA, RNA, protein dizileri ve Nanopore sinyali sekans verileri kaynak oluşturmaktadır. Elde edilen verilerde gözlenmiş veya daha önce bilinmeyen motifleri, modelleri ve alanları tespit etmede ve tanımlamada derin öğrenme kullanılır. Derin öğrenme ile; belirli hastalık ağları, gen birlikte ifade ağları, hücre sistemi hiyerarşi gibi grafik verileriyle başa çıkılabilir. Önemli üst düzey özellikleri otomatik olarak belirleyen uçtan uca özellik çıkarma ve sınıflandırmayı gerçekleştirebileceği için ham verileri işlemede derin öğrenme çok iyidir.[2, 3]
Sinir Ağı
Bir sinir ağı yapısı temel bir sinir hücresine benzer. Bir girdi vardır, bu girdilere (input) toplama işlemi yapılır, bir ReLU, Leaky ReLU, SELU, Softmax ve TanH gibi aktivasyon fonksiyonu (threshold-eşik) değeri ile yapılan işlem sonrası bir çıktı (output) elde edilir. Makine öğrenme yöntemlerinin art arda sıralanması sonucu oluşmuş birden çok katmandan oluşan bir regresyon analizi, sınıflandırma ya da kümeleme yöntemi derin öğrenmeyi temsil eder. Sınıflandırma yapmak için bir sinir ağını eğittiğimizde, sinir ağını x özellikleri ile y etiketi arasındaki gizli ilişkiyi (en azından yaklaşık olarak) ifade etmek için doğrusal olmayan belirli bir işleve dönüştürülür. Sinir ağına ne kadar çok düğüm koyarsak, modelin sahip olduğu karmaşıklık o kadar yüksek olacaktır. Yeterince düğüm koymazsak, model girdi ve çıktı arasındaki karmaşık ilişkiyi ifade edemeyecek kadar basit olacak ve bu da uyumsuzluğa neden olacaktır. Çok fazla düğüm koyarsak, model o kadar karmaşık olur ki, verilerdeki gürültüyü bile ifade eder ve bu da aşırı uyuma neden olur. Sinir ağının iki dezavantajı vardır. İlki çok sayıda parametre, ciddi aşırı uyum (overfitting) sorununa neden olabilir ve eğitim ve test sürecini yavaşlatabilir. İkinci olarak sığ nöron ağ çalışması, biyolojik verilerde aslında yaygın olan girdi özellikleri arasındaki ilişkiyi göz ardı ederek her bir girdi özelliğini bağımsız olarak ele alır. Örneğin, bir DNA dizisinde belirli bir motif bu dizinin işlevi içi önemli olabilir.[2-4]

Şekil 1: Biyoinformatik araştırmalarında derin öğrenmenin uygulanması.
(A) Girdi verileri ve araştırma hedeflerini içeren genel bakış diyagramı (B). Omik alanında araştırma örneği. DNA sekans verilerinden derin bir sinir ağı ile birleşim bağlantılarının tahmini. (C) Biyomedikal görüntülemede bir araştırma örneği. Evrişimli sinir ağına sahip X-ışını görüntülerinden parmak eklem tespiti. (D) Biyomedikal sinyal işlemede bir araştırma örneği. Tekrarlayan sinir ağı ile EEG sinyalinden atlamalı algılama.[3]
Zorlukları
Veri eksikliği (lack of data), aşırı uyum gösterme (overfitting), dengesiz veriler (imbalanced data), yorumlanabilirlik (interpretability), belirsizlik ölçeklendirme (uncertainty scaling), yıkıcı unutma (catastrophic forgetting) ve hesaplama gereksinimi ile model sıkıştırma azaltmak (reducing computational requirement and model compression) derin öğrenmeyi kullanmanın ortak zorluklarıdır. Aslına bakılırsa bir veriyi analiz etmekte veri eksikliği, hesaplama gereksinimi ve dengesiz veriler genel olarak zorluk çıkarır. Makine öğrenmesi ve derin öğrenme kısmında bu dengesiz ya da eksik veriler overfitting dediğimiz modelin hatalı bir öğrenme sonucu test verisinde algoritmanın geçememesine neden olur. Bu durumda bizi doğruluğu yüksek olmayan kötü bir modele götürür. Biraz önce saydığımız bu başlıklardan ne kadarından kaçınabildiğimize veya baş edebildiğimize bağlı olarak sağlam bir model sahibi oluşumuz değişkenlik gösterir.[2-4]
Derin Öğrenme Ağ Türleri
Çok katmanlı sinir ağlarını kullanarak enzimleri tanımlama, gen ifadesi regresyonu, CNN ile RNA-protein bağlanma bölgelerinin tahmini, CNN ve RNN ile DNA dizisi işlevi tahmini, transfer öğrenme ve ResNet yaklaşımı kullanılarak biyomedikal görüntü sınıflandırması, GCN kullanılarak yeni protein etkileşimi tahmini için grafik gömme, GAN kullanılarak görüntü süper çözünürlüğü ve VAE ile yüksek boyutlu biyolojik veri gömme ya da oluşturma yapılabilmektedir. Biyoinformatik alanında iç içe olduğumuz derin öğrenme yöntemleri sistem biyolojisinde de yeni biyomolekül tapı tahmini ve yeni ilaç-hedef etkileşim tahmini için kullanılabilmektedir.[2, 3] Bir enzimin ya da biyomoleküler fonksiyonu tahminlerken sınıflandırmasını DNN, derin tamamen bağlı sinir ağları (deep fully connected neural networks) ile yapabilmekteyiz. Bir evrişimli sinir ağı nanopore ham sinyallerinin bir yığınını girdi olarak alır ve karşılık gelen DNA dizisinin metillenmiş olup olmadığını tahmin eder. Nanopore sinyalleri halihazırda bir sinir ağını beslemek için 1D sayısal vektörlerdir. Gürültü giderme ve normalleştirme gibi gerekli ön işlemlerden sonra, veri vektörü birkaç (N) evrişimli katman ve havuzlama katmanından geçecek ve ardından vektörün uzunluğu kısalacak, ancak kanal sayısı artacaktır. Son havuz katmanından sonra, çok kanallı vektör tek kanallı uzun bir vektöre düzleşecektir. Evrişimli sinir ağları (CNN) için AlexNet, VGG, GoogleNet, ResNEt, ResNetx, DenseNet ve DPN önerilirken, tekrarlayan sinir ağları (RNN) için LST, Bi-RNN, GRU ve hafıza ağı (memory network) gibi derin öğrenme mimarileri önerilmiştir.[2,4-6]
CNN, standart evrişimli sinir ağları (convolutional neural networks) ve RNN, tekrarlayan sinir ağları (recurrent neural networks) genellikle sekans verileri için iyi bir seçimdir. DNA dizisi işlev tahmini RNA-protein bağlanma bölgeleri tahminleri yapılabilir. Transfer öğrenme ve ResNet, artık ağlar (residual networks) kullanarak biyomedikal görüntü sınıflandırması yapılabilir. Transfer öğrenme kullanılarak birçok kanserli hastanın sağ kalım-cox regresyon modellerinin üzerine çıkan yeni bir model oluşturulmuştur.[2, 3]

Şekil 2: (A)Orijinal VAE modelin mimarisinde hem kodlayıcı hem de kod çözücü gizli bir katman eklenmesiyle, 20 TCGA kanser türü hastalarının tüm TCGA RNA sekans verileri üzerinde eğitilmiştir. Hastanın tehlike oranını tahmin eden VAECox modelinin mimarisi (B) ilk iki katmanın parametreleri, önceden eğitilmiş VAE modelinin kodlayıcı kısmından aktarılır.[7]
GAN, üretken karşıt ağlar (generative adversarial networks) ve VAE, varyasyonel otomatik kodlayıcı (variational auto-encoder) biyomedikal görüntü işleme ve ilaç tasarımı için yararlı olabilecek iki önemli üretken derin öğrenme modelidir. Burada geçen üretken model kavramı bir sinir ağını birden çok insan yüzüyle eğittiğinizde size daha önce eğitim verisinde kullanılmayan yeni bir yüz yaratabilme yeteneğini aktarmaktadır. Bunu hiç görmediğiniz bina tasarımları, tablolar ve müzikler olarak düşünebilirsiniz ve hatta hiç kimseye ait olmayan bir parmak izi oluşturabileceğinizi düşünebilirsiniz. GCN, grafik evrişimli sinir ağları (graph convolutional neural networks) kullanılarak ise yeni protein etkileşimi tahmini içi grafik gömme (graph embedding) yapılabilmektedir.[2-5,7]
Derin Öğrenme Çerçeveleri (frameworks)
Tensorflow, Pytorch, Caffe2, MXNet, CNTK ve PaddlePaddle gibi derin öğrenme çerçeveleri mevcuttur. Tensorflow’un diğer ünlü sarmalayıcısı Keras’tır ve bununla birkaç kod satırında bir model oluşturulabilir. Tensorflow’un sağladığı esneklikten yoksun olmasına rağmen neredeyse her ayrıntıyı kontrol edebilen kullanışlı ve kullanımı kolaydır.[2]
Referanslar
Shorten, C., Khoshgoftaar, T. M., & Furht, B. (2021). Deep Learning applications for COVID-19. Journal of Big Data, 8(1), 1-54.
Li, Y., Huang, C., Ding, L., Li, Z., Pan, Y., & Gao, X. (2019). Deep learning in bioinformatics: Introduction, application, and perspective in the big data era. Methods, 166, 4-21.
Min, S., Lee, B., & Yoon, S. (2017). Deep learning in bioinformatics. Briefings in bioinformatics, 18(5), 851-869.
Deng, L., & Yu, D. (2014). Deep learning: methods and applications. Foundations and trends in signal processing, 7(3–4), 197-387.
Ahmad, J., Farman, H., & Jan, Z. (2019). Deep learning methods and applications. In Deep Learning: Convergence to Big Data Analytics (pp. 31-42). Springer, Singapore.
Lai, K., Twine, N., O’brien, A., Guo, Y., & Bauer, D. (2018). Artificial intelligence and machine learning in bioinformatics. Encyclopedia of Bioinformatics and Computational Biology: ABC of Bioinformatics, 55, 272.
Kim, S., Kim, K., Choe, J., Lee, I., & Kang, J. (2020). Improved survival analysis by learning shared genomic information from pan-cancer data. Bioinformatics, 36(Supplement_1), i389-i398.