[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ml-engineer\u002Fdl-sequence-attention":4,"config":170},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":76,"samples":84},"ml-engineer","ML Engineer","","dl-sequence-attention","Dl Sequence Attention","tr",75,1500,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,45,48,49,52,55,58,61,64,67,70,73],{"key":19,"name":20,"count":11},"cml-distance-clustering-dimreduction","Cml Distance Clustering Dimreduction",{"key":22,"name":23,"count":11},"cml-gradient-boosting-mechanics","Cml Gradient Boosting Mechanics",{"key":25,"name":26,"count":11},"cml-linear-logistic-internals","Cml Linear Logistic Internals",{"key":28,"name":29,"count":11},"cml-probabilistic-models-calibration","Cml Probabilistic Models Calibration",{"key":31,"name":32,"count":11},"cml-svm-kernels-margins","Cml Svm Kernels Margins",{"key":34,"name":35,"count":11},"cml-trees-randomforest-internals","Cml Trees Randomforest Internals",{"key":37,"name":38,"count":11},"dl-architecture-layers","Dl Architecture Layers",{"key":40,"name":41,"count":11},"dl-initialization-optimizers","Dl Initialization Optimizers",{"key":43,"name":44,"count":11},"dl-losses-output-layers","Dl Losses Output Layers",{"key":46,"name":47,"count":11},"dl-normalization-regularization","Dl Normalization Regularization",{"key":8,"name":9,"count":11},{"key":50,"name":51,"count":11},"dl-training-dynamics-backprop","Dl Training Dynamics Backprop",{"key":53,"name":54,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":56,"name":57,"count":11},"ml-deployment-serving","Ml Deployment Serving",{"key":59,"name":60,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":62,"name":63,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":65,"name":66,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":68,"name":69,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":71,"name":72,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":74,"name":75,"count":11},"ml-scaling-performance","Ml Scaling Performance",[77,81],{"key":78,"name":79,"count":80},"classical-ml","Classical ML",450,{"key":82,"name":83,"count":80},"deep-learning","Deep Learning",[85,103,117,131,144,157],{"id":86,"topic":9,"difficulty":87,"body":88,"options":89,"correct_key":97,"explanation":102},"01a0499c-f17b-7826-890f-9cdcf492e1cd",1,"T uzunluğunda bir dizi üzerinde açılan (unrolled) sade bir yinelemeli ağda, tekrarlı ağırlık matrisleri T adım boyunca nasıl kullanılır?",[90,93,96,99],{"key":91,"text":92},"a","Her adım için ayrı bir tekrarlı matris öğrenilir, bu yüzden uzun dizi orantılı olarak daha çok parametre ister",{"key":94,"text":95},"b","Yalnızca girdi izdüşümü paylaşılır; dizinin her adımı için taze bir tekrarlı matris ayrılır",{"key":97,"text":98},"c","Aynı matrisler her adımda yeniden kullanılır, bu yüzden parametre sayısı dizi uzunluğundan bağımsızdır",{"key":100,"text":101},"d","Matrisler batch boyunca paylaşılır ama dizinin her adımında başlatıcıdan yeniden örneklenir","Yineleme, tek bir hücre fonksiyonunun tekrar tekrar uygulanması demektir; dolayısıyla aynı girdi-gizli ve gizli-gizli matrisleri her adımda iş görür. Eğitilmiş aynı ağın istediği uzunlukta diziyi işleyebilmesinin sebebi tam olarak budur; yinelemeli bir katmanı büyüten şey de girdinin uzaması değil, gizli durumun genişlemesidir.",{"id":104,"topic":9,"difficulty":105,"body":106,"options":107,"correct_key":91,"explanation":116},"01a0499c-f17c-73c5-b5c2-b6ff26986c86",2,"PyTorch 2.8. `lstm = nn.LSTM(input_size=6, hidden_size=10, batch_first=True)` ve `x` şekli `(3, 7, 6)`. `output, (h_n, c_n) = lstm(x)` çağrısından sonra `output` ve `h_n` şekilleri nedir?",[108,110,112,114],{"key":91,"text":109},"`output` `(3, 7, 10)` ve `h_n` `(1, 3, 10)`",{"key":94,"text":111},"`output` `(3, 7, 6)` ve `h_n` `(3, 10)`",{"key":97,"text":113},"`output` `(7, 3, 10)` ve `h_n` `(3, 1, 10)`",{"key":100,"text":115},"`output` `(3, 10)` ve `h_n` `(3, 7, 10)`","Katman her zaman adımı için bir gizli vektör üretir; `batch_first=True` ile yığılmış çıktı batch ve zaman eksenlerini korur, öznitelik eksenini `hidden_size` ile değiştirir. Son durum ayrıca döndürülür ve önce katman-yön ekseniyle indekslenir; tek yönlü tek katmanda bu eksen 1 uzunluğundadır.",{"id":118,"topic":9,"difficulty":119,"body":120,"options":121,"correct_key":97,"explanation":130},"01a0499c-f17c-7ab4-83cb-101d80f35e1e",3,"PyTorch 2.8'de `nn.LSTM(input_size=8, hidden_size=16)` kuruyor ve parametreleri üzerinde `p.numel()` topluyorsunuz. Hangi sayıyı elde edersiniz ve neden?",[122,124,126,128],{"key":91,"text":123},"416, çünkü (16, 8) şeklinde bir ağırlık bloğu artı (16, 16) şeklinde biri artı bir bias hücreyi kapatır",{"key":94,"text":125},"832, çünkü iki gate'in her biri tam bir girdi ve tekrarlı izdüşüm ile bias'larını ister",{"key":97,"text":127},"1664, çünkü dört gate'in her biri girdi izdüşümü, tekrarlı izdüşüm ve iki bias vektörü ister",{"key":100,"text":129},"1600, çünkü dört gate girdi ve tekrarlı izdüşüm ister ama hücre tek bir bias vektörü tutar","Katman dört gate ön-aktivasyonunu tek blokta paketler; ağırlıklar (4*16, 8) ve (4*16, 16) şeklindedir ve PyTorch girdi ile tekrarlı taraf için 4*16 uzunluğunda iki ayrı bias vektörü tutar. Bu da 4*(16*8 + 16*16 + 2*16) = 1664 eder; modül üzerinde doğrudan ölçüldü.",{"id":132,"topic":9,"difficulty":105,"body":133,"options":134,"correct_key":94,"explanation":143},"01a0499c-f17d-74c0-9530-872a4cbdf620","Aynı girdi ve gizli boyutlarda bir GRU'nun parametre sayısı bir LSTM'inkiyle nasıl karşılaştırılır ve oranı hangi yapısal olgu açıklar?",[135,137,139,141],{"key":91,"text":136},"Eşittirler, çünkü GRU aynı dört gate'i kullanır ama girdi ve forget gate'ini birbirine bağlar",{"key":94,"text":138},"GRU'da dörtte üçü kadardır, çünkü dört yerine üç gate'li blok vardır",{"key":97,"text":140},"GRU'da yarısı kadardır, çünkü hem cell state'i hem output gate'ini atar",{"key":100,"text":142},"GRU'da daha fazladır, çünkü belleği gizli duruma katmak fazladan bir izdüşüm ister","LSTM dört gate'li ön-aktivasyon bloğu hesaplar, GRU üç blok hesaplar ve her blok aynı girdi izdüşümü, tekrarlı izdüşüm ve bias maliyetini taşır. Girdi 10, gizli 20 ile ölçüldüğünde GRU 1920, LSTM 2560 çıktı; tam olarak üçe dört oranı.",{"id":145,"topic":9,"difficulty":105,"body":146,"options":147,"correct_key":94,"explanation":156},"01a0499c-f17d-7ad1-a8f0-4d0c6264fedf","Aynı dizi üzerinde çalışan iki katmanlı bir yinelemeli yığın kuruluyor. t adımında ikinci katman girdi olarak neyi alır?",[148,150,152,154],{"key":91,"text":149},"Birinci katmanın son gizli durumunu; bu durum ikinci katmanın her adımına değişmeden yayınlanır",{"key":94,"text":151},"Birinci katmanın t adımındaki gizli çıktısını; derinlik ile zaman ayrı eksenler olarak kalır",{"key":97,"text":153},"Yine t adımındaki ham girdiyi; iki katman yalnızca son durumları birleştirilirken buluşur",{"key":100,"text":155},"Birinci katmanın 0'dan t'ye kadarki tüm çıktılarının birleştirilmişini; bu yüzden genişlik t ile büyür","Yığın, alttaki katmanın adım başına çıktı dizisine uygulanan derinlik yönünde bir yinelemedir; ikinci katman, birincinin adım başına bir girdi tüketmesi gibi adım başına bir vektör tüketir. İki katmanlı bir modülü iki ayrı tek katmanlı modül olarak yeniden kurup birincinin çıktı dizisini ikinciye vermek, yığılmış modülün çıktısını float toleransında yeniden üretti.",{"id":158,"topic":9,"difficulty":119,"body":159,"options":160,"correct_key":100,"explanation":169},"01a0499c-f17e-740e-8879-fc8b39da1f16","PyTorch 2.8. Bir self-attention katmanının sorgu ve anahtar izdüşümleri ayrı ve öğrenilmiş. 10 token'lık bir girdi için ölçekli skorlara softmax uygulayıp ağırlık matrisine bakıyorsunuz. Bir satırdaki en büyük ağırlığın köşegende, yani token'ın kendi konumunda olması ne sıklıkta beklenir?",[161,163,165,167],{"key":91,"text":162},"Her zaman, çünkü bir vektörün kendisiyle nokta çarpımı satırının tutabileceği en büyük değerdir",{"key":94,"text":164},"Genellikle, çünkü bir token'ın sorgusu ile anahtarı tek bir vektörün iki görüntüsüdür ve ilişkili kalır",{"key":97,"text":166},"Hiçbir zaman, çünkü bir token kendi anahtar kümesinin dışında tutulur ve kendini okuyamaz",{"key":100,"text":168},"Başka herhangi bir sütundan daha sık değil; sorgu ile anahtar token'ın farklı görüntüleridir","Bir token'ın sorgusu ile anahtarı onun iki farklı doğrusal görüntüsüdür; dolayısıyla köşegendeki skor birbiriyle ilgisiz iki vektörün sıradan bir nokta çarpımıdır ve yapısal bir üstünlük taşımaz. 10 token ve 16 genişlikle beş rastgele çekilişte köşegen, satır maksimumunu 10 satırın 0 ile 2'sinde tuttu ve ortalama köşegen ağırlığı düzgün dağılım değeri olan 0.1 civarında kaldı; ham token vektörleri hem sorgu hem anahtar olarak verildiğinde ise maksimum 10 satırın hepsinde köşegene düştü, sezginin kaynağı da budur.",{"fields":171,"seniorities":392,"interview_shapes":393,"locales":398,"oauth":400,"question_count":403,"coach_enabled":404,"jd_match_enabled":404},[172,197,217,233,257,270,289,308,330,349,364,386],{"key":173,"name_tr":174,"name_en":174,"sort":87,"specializations":175},"backend","Backend",[176,179,182,185,188,191,194],{"key":177,"name":178,"field":173},"general","Genel",{"key":180,"name":181,"field":173},"go","Go",{"key":183,"name":184,"field":173},"python","Python",{"key":186,"name":187,"field":173},"java","Java",{"key":189,"name":190,"field":173},"csharp","C#\u002F.NET",{"key":192,"name":193,"field":173},"nodejs","Node.js",{"key":195,"name":196,"field":173},"php","PHP",{"key":198,"name_tr":199,"name_en":199,"sort":105,"specializations":200},"frontend","Frontend",[201,202,205,208,211,214],{"key":177,"name":178,"field":198},{"key":203,"name":204,"field":198},"javascript","JavaScript",{"key":206,"name":207,"field":198},"typescript","TypeScript",{"key":209,"name":210,"field":198},"react","React",{"key":212,"name":213,"field":198},"vue","Vue",{"key":215,"name":216,"field":198},"angular","Angular",{"key":218,"name_tr":219,"name_en":219,"sort":119,"specializations":220},"fullstack","Fullstack",[221,222,223,224,225,226,227,228,229,230,231,232],{"key":177,"name":178,"field":218},{"key":180,"name":181,"field":173},{"key":183,"name":184,"field":173},{"key":186,"name":187,"field":173},{"key":189,"name":190,"field":173},{"key":192,"name":193,"field":173},{"key":195,"name":196,"field":173},{"key":203,"name":204,"field":198},{"key":206,"name":207,"field":198},{"key":209,"name":210,"field":198},{"key":212,"name":213,"field":198},{"key":215,"name":216,"field":198},{"key":234,"name_tr":235,"name_en":235,"sort":236,"specializations":237},"devops-cloud","DevOps \u002F Cloud",4,[238,239,242,245,248,251,254],{"key":177,"name":178,"field":234},{"key":240,"name":241,"field":234},"aws","AWS",{"key":243,"name":244,"field":234},"gcp","GCP",{"key":246,"name":247,"field":234},"azure","Azure",{"key":249,"name":250,"field":234},"kubernetes","Kubernetes",{"key":252,"name":253,"field":234},"terraform","Terraform",{"key":255,"name":256,"field":234},"linux","Linux",{"key":258,"name_tr":259,"name_en":259,"sort":260,"specializations":261},"ai-engineer","AI Engineer",5,[262,263,264,267],{"key":177,"name":178,"field":258},{"key":183,"name":184,"field":258},{"key":265,"name":266,"field":258},"llm-rag","LLM\u002FRAG",{"key":268,"name":269,"field":258},"mlops","MLOps",{"key":271,"name_tr":272,"name_en":273,"sort":274,"specializations":275},"database","Veritabanı","Database",6,[276,277,280,283,286],{"key":177,"name":178,"field":271},{"key":278,"name":279,"field":271},"postgresql","PostgreSQL",{"key":281,"name":282,"field":271},"mysql","MySQL",{"key":284,"name":285,"field":271},"mongodb","MongoDB",{"key":287,"name":288,"field":271},"redis","Redis",{"key":290,"name_tr":291,"name_en":292,"sort":293,"specializations":294},"mobile","Mobil","Mobile",7,[295,296,299,302,305],{"key":177,"name":178,"field":290},{"key":297,"name":298,"field":290},"ios-swift","iOS (Swift)",{"key":300,"name":301,"field":290},"android-kotlin","Android (Kotlin)",{"key":303,"name":304,"field":290},"flutter","Flutter",{"key":306,"name":307,"field":290},"react-native","React Native",{"key":309,"name_tr":310,"name_en":311,"sort":312,"specializations":313},"security","Güvenlik","Security",8,[314,315,318,321,324,327],{"key":177,"name":178,"field":309},{"key":316,"name":317,"field":309},"appsec","AppSec",{"key":319,"name":320,"field":309},"offensive-pentest","Offensive \u002F Pentest",{"key":322,"name":323,"field":309},"cloud-security","Cloud Security",{"key":325,"name":326,"field":309},"devsecops","DevSecOps",{"key":328,"name":329,"field":309},"blue-team-incident","Blue Team \u002F Incident",{"key":331,"name_tr":332,"name_en":333,"sort":334,"specializations":335},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[336,337,340,343,346],{"key":177,"name":178,"field":331},{"key":338,"name":339,"field":331},"test-automation","Test Automation",{"key":341,"name":342,"field":331},"sdet","SDET",{"key":344,"name":345,"field":331},"performance-testing","Performance Testing",{"key":347,"name":348,"field":331},"mobile-qa","Mobile QA",{"key":350,"name_tr":351,"name_en":351,"sort":352,"specializations":353},"data-engineer","Data Engineer",10,[354,355,358,361],{"key":177,"name":178,"field":350},{"key":356,"name":357,"field":350},"pipelines-etl","Pipelines \u002F ETL",{"key":359,"name":360,"field":350},"streaming","Streaming",{"key":362,"name":363,"field":350},"warehousing","Warehousing",{"key":365,"name_tr":366,"name_en":367,"sort":368,"specializations":369},"game-dev","Oyun Geliştirme","Game Development",11,[370,371,374,377,380,383],{"key":177,"name":178,"field":365},{"key":372,"name":373,"field":365},"unity-csharp","Unity (C#)",{"key":375,"name":376,"field":365},"unreal-cpp","Unreal (C++)",{"key":378,"name":379,"field":365},"gameplay","Gameplay",{"key":381,"name":382,"field":365},"graphics-rendering","Graphics \u002F Rendering",{"key":384,"name":385,"field":365},"multiplayer-netcode","Multiplayer \u002F Netcode",{"key":5,"name_tr":6,"name_en":6,"sort":387,"specializations":388},12,[389,390,391],{"key":177,"name":178,"field":5},{"key":78,"name":79,"field":5},{"key":82,"name":83,"field":5},[14,15,16],{"junior":394,"mid":396,"senior":397},{"questions":395,"median_sec":3},20,{"questions":395,"median_sec":3},{"questions":395,"median_sec":3},[10,399],"en",[401,402],"google","github",28050,true]