[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ml-engineer\u002Fdl-losses-output-layers":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-losses-output-layers","Dl Losses Output Layers","tr",75,1500,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39,42,43,46,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":8,"name":9,"count":11},{"key":44,"name":45,"count":11},"dl-normalization-regularization","Dl Normalization Regularization",{"key":47,"name":48,"count":11},"dl-sequence-attention","Dl Sequence Attention",{"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,130,144,157],{"id":86,"topic":9,"difficulty":87,"body":88,"options":89,"correct_key":97,"explanation":102},"01a0499c-f12c-7e7a-ae05-96c82aaa068d",1,"Bir sınıflandırıcının son katmanı ham skor vektörü üretir ve softmax sınıf boyutu boyunca uygulanır. Ortaya çıkan vektör hakkında ne garanti edilir?",[90,93,96,99],{"key":91,"text":92},"a","Her giriş (-1, 1) aralığındadır ve girişlerin toplamı sıfırdır.",{"key":94,"text":95},"b","En büyük ham skor tam olarak 1, diğer bütün girişler tam olarak 0 olur.",{"key":97,"text":98},"c","Her giriş kesin olarak 0 ile 1 arasındadır ve sınıf boyutu boyunca girişlerin toplamı 1'dir; dolayısıyla vektör sınıflar üzerinde kategorik bir dağılım olarak okunabilir.",{"key":100,"text":101},"d","Her giriş, ham skorun ham skorlar toplamına bölümüne eşittir.","Softmax her skorun üstelini alır, bu her girişi kesin pozitif yapar, sonra bu üstellerin toplamına böler ve toplamı 1'e zorlar. Üstel fonksiyon pozitif ve sonlu olduğu için matematiksel olarak hiçbir giriş tam olarak 0 ya da 1 olamaz; float32'de ise maksimumun yeterince altında kalan bir skor 0.0'a yuvarlanır ve komşusunu 1.0'da bırakır. Maksimuma sabit 1 atayan yaklaşım argmax\u002Fone-hot'u tarif eder, softmax'ı değil; ham skorları toplamlarına bölmek ise negatif skorlarda bozulan farklı bir normalizasyondur.",{"id":104,"topic":9,"difficulty":105,"body":106,"options":107,"correct_key":100,"explanation":116},"01a0499c-f12e-7027-9055-679dc6684e7b",2,"PyTorch 2.8'de CPU üzerinde `torch.softmax(torch.tensor([2.0, 1.0, 0.0]), dim=0)` çalıştırıyorsunuz. Basılan çıktıya en yakın olan hangisidir?",[108,110,112,114],{"key":91,"text":109},"[0.333, 0.333, 0.333], üç sınıf üzerinde düzgün dağılım",{"key":94,"text":111},"[0.500, 0.333, 0.167], yani ham skorların bir fazlasıyla orantılı",{"key":97,"text":113},"[0.667, 0.333, 0.000], yani doğrudan ham skorların kendisiyle orantılı",{"key":100,"text":115},"[0.665, 0.245, 0.090]","Softmax exp(2), exp(1) ve exp(0) değerlerini hesaplar; bunlar 7.389, 2.718 ve 1.000'dir ve her biri 11.107 olan toplamlarına bölünür. Sonuç yaklaşık 0.665, 0.245 ve 0.090 olur. Komşu skorlar tam olarak 1 fark ettiği için komşu olasılıkların oranı e, yani yaklaşık 2.718'dir; doğru vektörü tanımanın en hızlı yolu budur.",{"id":118,"topic":9,"difficulty":105,"body":119,"options":120,"correct_key":100,"explanation":129},"01a0499c-f131-78ca-b0d0-dcee253ed780","İki logit vektörü aynı softmax'a veriliyor: [1.0, 2.0, 3.0] ve [51.0, 52.0, 53.0]. İki olasılık vektörü nasıl karşılaştırılır ve bu cevap uygulama açısından neden önemlidir?",[121,123,125,127],{"key":91,"text":122},"İkinci vektör çok daha sivridir, çünkü büyük ham skorlar olasılık kütlesinin daha fazlasını en büyük girişe yığar ve diğerlerini sıfıra doğru sıkıştırır.",{"key":94,"text":124},"İkincisi daha düzdür, çünkü üsteller doygunluğa ulaşır.",{"key":97,"text":126},"Yalnızca son ondalıkta ayrışırlar, çünkü kayan nokta büyük üstelleri yuvarlar.",{"key":100,"text":128},"Özdeştirler: her skora aynı sabiti eklemek softmax'ı değiştirmez ve uygulamalar tam da bu nedenle satır maksimumunu çıkarır.","Sabit eklemek her üsteli aynı çarpanla çarpar ve bu çarpan pay ile paydada sadeleşir, dolayısıyla olasılıklar değişmez. Yalnızca skorlar arasındaki farklar önemlidir, mutlak seviyeleri değil. Kütüphane uygulamaları üstel almadan önce satır maksimumunu çıkarır; böylece en büyük üs sıfırda kalır ve toplam taşmaz.",{"id":131,"topic":9,"difficulty":132,"body":133,"options":134,"correct_key":94,"explanation":143},"01a0499c-f132-7bad-8506-e637fd1adeb8",3,"Bir talep modeli günlük sipariş sayısını tahmin ediyor. Başı tek bir doğrusal birim ve ham çıktısı z, beklenen oranın logaritması olarak okunuyor; eğitim exp(z) − y·z biçimindeki Poisson negatif log-olabilirliğini minimize ediyor. y = 4 siparişin olduğu bir günde baş şu anda z = 0.5 üretiyor. Bu örneğin kaybının z'ye göre gradyanı neye eşittir ve başı hangi yöne iter?",[135,137,139,141],{"key":91,"text":136},"2·(exp(z) − y)·exp(z), burada −7.75, çünkü oran ile sayım arasındaki kareli hata üstel bağlantı üzerinden zincirlenir.",{"key":94,"text":138},"exp(z) − y, burada −2.35; dolayısıyla exp(z) oranı gözlenen sayıma ulaşana kadar baş yukarı itilir.",{"key":97,"text":140},"1 − y\u002Fexp(z), burada −1.43, çünkü logaritmik bağlantı güncellemeyi farka değil sayım\u002Foran oranına bağlar.",{"key":100,"text":142},"z − log(y), burada −0.89, çünkü log bağlantısı amacı log ölçeğinde düz bir artığa çevirir.","exp(z) − y·z ifadesinin z'ye göre türevi exp(z) − y'dir, yani tahmin edilen oran eksi gözlenen sayım; bu da tam olarak exp(z) = y olduğunda durağandır. PyTorch 2.8'de doğrulandı: `log_input=True` ile `F.poisson_nll_loss`, z = 0.5 ve y = 4 için -0.3513 ve autograd gradyanı olarak -2.3513 raporladı; bu da exp(0.5) - 4'tür. Log-girdili biçim sabit log(y!) terimini düşürür, raporlanan değerin hiçbir sorun yokken negatif çıkabilmesinin sebebi budur; bağlantı ise tahmin edilen oranı çıktıda hiçbir kırpma olmadan pozitif tutar.",{"id":145,"topic":9,"difficulty":105,"body":146,"options":147,"correct_key":91,"explanation":156},"01a0499c-f133-7bc2-a761-c545b9d78d9c","Bir fotoğraf etiketleme modeli, bir görüntüye 12 etiketin herhangi bir alt kümesini iliştirmek zorunda; tek bir fotoğraf meşru şekilde aynı anda 'plaj', 'gün batımı' ve 'insan' taşıyabilir. Bu göreve hangi çıktı katmanı ve kayıp uyar?",[148,150,152,154],{"key":91,"text":149},"Etiket başına bir çıktı birimi ve her birinde bağımsız sigmoid, etiket başına ikili çapraz entropi ile eğitilir; böylece birden fazla etiket ortak bir bütçe için yarışmadan aynı anda güvenle açık olabilir.",{"key":94,"text":151},"Etiket başına bir çıktı birimi ve etiketler üzerinde softmax, kategorik çapraz entropi ile eğitilir.",{"key":97,"text":153},"Değeri en güçlü etiketin indeksine yuvarlanan tek bir çıktı birimi.",{"key":100,"text":155},"Etiket başına bir çıktı birimi ve softmax, ardından her olasılığa 0.5 eşiği uygulanır.","Softmax 12 çıktıyı toplamlarını 1'e zorlayarak birbirine bağlar; bir etiketin güvenini artırmak zorunlu olarak diğerlerini düşürür ve bu, çok etiketli bir problem için yanlış yapısal varsayımdır. Etiket başına bir sigmoid birimi her etiketi kendi evet\u002Fhayır kararına çevirir ve ikili çapraz entropi bu kararların her birini ayrı ayrı skorlar; alt-küme değerli bir etiketin gerçek yapısı da budur. Softmax'ı 0.5'te eşiklemek durumu daha da kötüleştirir, çünkü 12 yarışan sınıfla neredeyse hiçbir şey 0.5'i aşamaz.",{"id":158,"topic":9,"difficulty":87,"body":159,"options":160,"correct_key":91,"explanation":169},"01a0499c-f135-7218-9706-a928db8986c6","Bir ağ, görüntüyü birbirini dışlayan 10 kategoriden birine sınıflandırıyor. Sondan bir önceki öznitelik vektörü 256 girişli ve kayıp `nn.CrossEntropyLoss`. Son `nn.Linear` katmanı ne olmalı?",[161,163,165,167],{"key":91,"text":162},"`nn.Linear(256, 10)`, kategori başına bir ham logit üretir.",{"key":94,"text":164},"`nn.Linear(256, 9)`, çünkü bir kategori diğer dokuzdan ima edilir ve onu eklemek fazlalık olur.",{"key":97,"text":166},"`nn.Linear(256, 10)` ve ardından `nn.Softmax(dim=1)`, böylece kriter düzgün olasılıklar alır.",{"key":100,"text":168},"`nn.Linear(256, 1)`, çünkü çapraz entropi tamsayı etiketle karşılaştıracağı tek bir skora ihtiyaç duyar.","Çapraz entropi, 10 kategori üzerinde bir dağılım kurup hedef indeksi seçebilmek için sınıf başına bir skora ihtiyaç duyar; bu da katmanın 256'dan 10'a olmasını gerektirir (bias dâhil 2570 parametre). Kriter ham skorları tüketir ve normalizasyonu kendi yapar, dolayısıyla önüne açık bir softmax katmanı koymak arayüzün beklediği şey değildir. Bir sınıfı düşürüp dokuz çıktı bırakmak, kriterin o kategoriyi hiç skorlayamaması demektir; o kategori asla tahmin edilemez.",{"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":132,"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]