andrewekhalel / MLQuestions

technikai interjúkérdések gyűjteménye a gépi tanuláshoz és a számítógépes látásmérnöki pozíciókhoz.

1) Mi a kompromisszum az elfogultság és a variancia között?

ha a modellünk túl egyszerű és nagyon kevés paraméterrel rendelkezik, akkor nagy torzítással és alacsony varianciával rendelkezhet. Másrészt, ha a modellünk nagyszámú paraméterrel rendelkezik, akkor nagy varianciával és alacsony torzítással fog rendelkezni. Tehát meg kell találnunk a megfelelő/jó egyensúlyt anélkül, hogy az adatokat túl-és aluljavítanánk.

2) Mi a gradiens Süllyedés?

3) magyarázza el a túl-és alulszerelést, és hogyan lehet leküzdeni őket?

4) Hogyan küzd a dimenzió átka ellen?

  • kézi Funkcióválasztás
  • főkomponens-elemzés (PCA)
  • többdimenziós méretezés
  • helyileg lineáris beágyazás

5) Mi a Szabályozás, miért használjuk, és adunk néhány példát a közös módszerekre?

olyan technika, amely elriasztja a bonyolultabb vagy rugalmasabb modell tanulását, hogy elkerülje a túlillesztés kockázatát.Példák

  • gerinc (L2 norma)
  • Lasso (L1 norma)
    a gerinc regressziójának nyilvánvaló hátránya a modell értelmezhetősége. Ez csökkenti a legkevésbé fontos prediktorok együtthatóit, nagyon közel a nullához. De ez soha nem teszi őket pontosan nulla. Más szavakkal, a végső modell tartalmazza az összes prediktort. A lasszó esetében azonban az L1 büntetés azzal a hatással jár, hogy az együttható-becslések egy részét pontosan nullára kényszeríti, ha a beállító paraméter elegendően nagy. Ezért a lasso módszer változó kiválasztást is végez, és azt mondják, hogy ritka modelleket eredményez.

6) magyarázza el a főkomponens-elemzést (PCA)?

7) Miért jobb és gyakrabban használják a ReLU-t, mint a Sigmoidot a neurális hálózatokban?

Képzeljünk el egy véletlenszerűen inicializált ( vagy normalizált) súlyú hálózatot, amelynek majdnem 50% – a 0 aktiválást eredményez a ReLu jellemzője miatt ( 0 kimenet az X negatív értékeihez ). Ez azt jelenti, hogy kevesebb idegsejt aktiválódik (ritka aktiválás), és a hálózat könnyebb.

8) az (1 dimenziós) CNN minden egyes rétegére adott stride s és kernel méretek alapján hozzon létre egy függvényt a hálózat egy adott csomópontjának receptív mezőjének kiszámításához. Ez csak annak megállapítása, hogy hány bemeneti csomópont csatlakozik valójában egy neuronhoz egy CNN-ben.

9) végezze el a csatlakoztatott összetevőket egy képen/mátrixon.

10) végre egy ritka mátrix osztály C++.

11) hozzon létre egy függvényt az integrált kép kiszámításához, és hozzon létre egy másik függvényt az integrált kép területösszegeinek lekéréséhez.

12) hogyan távolítaná el a kiugró értékeket, amikor megpróbálja megbecsülni a sík síkot a zajos mintákból?

13) Hogyan fejti ki hatását a CBIR?

14) hogyan működik a képregisztráció? Ritka vs. sűrű optikai áramlás stb.

15) írja le, hogyan működik a konvolúció. Mi a helyzet, ha a bemenetek szürkeárnyalatos vs RGB képek? Mi határozza meg a következő réteg alakját?

16) mondja el nekem, hogyan hozna létre egy objektum 3D-s modelljét az objektum körüli minden szögből készített képekből és mélységérzékelő mérésekből.

17) Az SQRT(const double & x) végrehajtása speciális funkciók használata nélkül, csak alapvető aritmetika.

18) fordított egy bitstring.

19) végre nem maximális elnyomás olyan hatékonyan, mint te.

20) fordított Linkelt lista helyett.

21) Mi az adatok normalizálása és miért van rá szükségünk?

az adatok normalizálása nagyon fontos előfeldolgozási lépés, amelyet az értékek átméretezésére használnak, hogy egy adott tartományba illeszkedjenek a jobb konvergencia biztosítása érdekében a backpropagation során. Általánosságban elmondható, hogy az egyes adatpontok átlagát kivonjuk, és elosztjuk a szórással. Ha ezt nem tesszük meg, akkor néhány funkció (a nagy nagyságrendű) súlyozottabb lesz a költségfüggvényben (ha egy nagyobb nagyságrendű funkció 1%-kal változik, akkor ez a változás elég nagy, de a kisebb funkciók esetében ez meglehetősen jelentéktelen). Az adatok normalizálása minden funkciót egyenlően súlyoz.

22) miért használunk konvolúciókat képekhez, nem csak FC rétegekhez?

először is, a konvolúciók megőrzik, kódolják és ténylegesen felhasználják a kép térbeli információit. Ha csak FC rétegeket használnánk, akkor nem lenne relatív térbeli információnk. Másodszor, a konvolúciós neurális hálózatok (CNN-ek) részben beépített fordítási varianciával rendelkeznek, mivel minden konvolúciós kernel saját szűrő/funkció detektorként működik.

23) mi teszi a CNNs fordítást invariánssá?

mint fentebb kifejtettük, minden konvolúciós kernel saját szűrő/funkció detektorként működik. Tehát tegyük fel, hogy objektumfelismerést végez,nem számít, hogy a képen hol van az objektum, mivel a konvolúciót csúszó ablakban fogjuk alkalmazni az egész képen.

24) miért van max-pooling osztályozás CNNs?

a számítógépes látásban betöltött szerepért. Max-pooling egy CNN lehetővé teszi, hogy csökkentse a számítás, mivel a funkció térképek kisebbek után pooling. Nem veszít túl sok szemantikai információt, mivel a maximális aktiválást veszi igénybe. Van egy elmélet is, miszerint a max-pooling egy kicsit hozzájárul ahhoz, hogy a CNN-k több fordítási varianciát kapjanak. Nézze meg ezt a nagyszerű videót Andrew Ng-től a max-pooling előnyeiről.

25) miért szegmentálás CNN jellemzően egy kódoló-dekóder stílus / szerkezet?

a CNN kódolót alapvetően funkciókivonó hálózatnak lehet tekinteni, míg a dekóder ezt az információt használja a képszegmensek előrejelzésére a funkciók “dekódolásával” és az eredeti képméretre történő felskálázással.

26) Mi a maradék hálózatok jelentősége?

a legfontosabb dolog, amit a maradék kapcsolatok tettek, lehetővé tette a korábbi rétegek közvetlen hozzáférését. Ez sokkal könnyebbé teszi az információk terjesztését az egész hálózaton. Egy nagyon érdekes cikk erről azt mutatja be, hogy a helyi kihagyási kapcsolatok használata a hálózatnak egyfajta együttes többutas struktúrát ad, több útvonalat adva a funkciók terjesztéséhez az egész hálózaton.

27) mi a kötegelt normalizálás és miért működik?

a mély neurális hálózatok képzését bonyolítja az a tény, hogy az egyes rétegek bemeneteinek eloszlása az edzés során megváltozik, mivel az előző rétegek paraméterei megváltoznak. Az ötlet ezután az egyes rétegek bemeneteinek normalizálása oly módon, hogy azok átlagos kimeneti aktivációja nulla, szórása pedig egy. Ez történik minden egyes mini-batch minden réteg azaz kiszámítja az átlagos és varianciája, hogy a mini-batch egyedül, majd normalizálni. Ez Analóg a hálózatok bemeneteinek szabványosításával. Hogyan segít ez? Tudjuk, hogy a hálózat bemeneteinek normalizálása segít megtanulni. De a hálózat csak rétegek sorozata, ahol az egyik réteg kimenete a következő bemenetévé válik. Ez azt jelenti, hogy a neurális hálózat bármely rétegére úgy gondolhatunk, mint egy kisebb későbbi hálózat első rétegére. Az egymásba táplálkozó neurális hálózatok sorozataként az aktiválási funkció alkalmazása előtt normalizáljuk az egyik réteg kimenetét, majd betápláljuk a következő rétegbe (alhálózat).

28) miért használna sok kis konvolúciós magot, például 3×3-at, nem pedig néhány nagyot?

ezt nagyon jól magyarázza a VGGNet papír. Ennek 2 oka van: Először is használhatsz több kisebb kernelt, nem pedig néhány nagyot, hogy ugyanazt a befogadó mezőt kapd és több térbeli kontextust rögzítsél, de a kisebb kernelekkel kevesebb paramétert és számítást használsz. Másodszor, mivel kisebb kernelekkel több szűrőt fog használni, több aktiválási funkciót is használhat, így diszkriminatívabb leképezési funkciót tanulhat meg a CNN.

29) miért van szükségünk érvényesítési készletre és tesztkészletre? Mi a különbség közöttük?

a modell képzésekor a rendelkezésre álló adatokat három különálló készletre osztjuk:

  • a képzési adatkészlet a modell paramétereinek illesztésére szolgál. Az edzőkészleten elért pontosság azonban nem megbízható annak előrejelzésére, hogy a modell pontos lesz-e az új mintákon.
  • az érvényesítési adathalmaz annak mérésére szolgál, hogy a modell milyen jól teljesít olyan példákon, amelyek nem voltak részei a képzési adathalmaznak. Az érvényesítési adatokon kiszámított mutatók felhasználhatók a modell hiperparamétereinek hangolására. Azonban minden alkalommal, amikor kiértékeljük az érvényesítési adatokat, és e pontszámok alapján hozunk döntéseket, az érvényesítési adatokból információkat szivárogtatunk be a modellünkbe. Minél több értékelés, annál több információ szivárog ki. Így végül túl sok adatot gyűjthetünk a validációs adatokhoz, és a validációs pontszám ismét nem lesz megbízható a modell viselkedésének előrejelzésére a valós világban.
  • a tesztadatkészlet arra szolgál, hogy megmérje, milyen jól teljesít a modell korábban nem látott példákon. Csak akkor szabad használni, ha a paramétereket az érvényesítési készlet segítségével beállítottuk.

tehát ha kihagyjuk a tesztkészletet, és csak egy érvényesítési készletet használunk, az érvényesítési pontszám nem lesz jó becslés a modell általánosítására.

30) Mi az a rétegzett keresztellenőrzés, és mikor kell használni?

a keresztellenőrzés az adatok képzési és validációs halmazok közötti megosztására szolgáló technika. Tipikus keresztellenőrzésnél ez a felosztás véletlenszerűen történik. De a rétegzett keresztellenőrzésnél a felosztás megőrzi a kategóriák arányát mind a képzési, mind az érvényesítési adatkészleteken.

ha például az a kategória 10%-át és a B kategória 90% – át tartalmazó adatkészletünk van, és rétegzett keresztellenőrzést használunk, akkor a képzés és a validálás során azonos arányok lesznek. Ezzel szemben, ha egyszerű keresztellenőrzést használunk, a legrosszabb esetben azt tapasztalhatjuk, hogy az érvényesítési készletben nincsenek A kategóriájú minták.

rétegzett kereszthitelesítés a következő esetekben alkalmazható:

  • több kategóriával rendelkező adatkészleten. Minél kisebb az adatkészlet, és minél kiegyensúlyozatlanabbak a kategóriák, annál fontosabb lesz a rétegzett keresztellenőrzés használata.
  • különböző eloszlású adatokkal rendelkező adatkészleten. Például az autonóm vezetés adatkészletében nappal és éjszaka is készíthetünk képeket. Ha nem biztosítjuk, hogy mindkét típus jelen legyen a képzésben és az érvényesítésben, akkor általánosítási problémáink lesznek.

31) miért vannak az együttesek általában magasabb pontszámokkal, mint az egyes modellek?

az együttes több modell kombinációja egyetlen előrejelzés létrehozásához. A jobb előrejelzések készítésének legfontosabb ötlete az, hogy a modelleknek különböző hibákat kell követniük. Így az egyik modell hibáit kompenzálják a többi modell helyes találgatásai, így az együttes pontszáma magasabb lesz.

sokféle modellre van szükségünk az együttes létrehozásához. Sokszínűség érhető el a:

  • különböző ML algoritmusok használata. Kombinálhatja például a logisztikai regressziót, a K-legközelebbi szomszédokat és a döntési fákat.
  • az adatok különböző részhalmazainak használata a képzéshez. Ezt hívják zsákolásnak.
  • különböző súlyt adva az edzőkészlet minden mintájának. Ha ez iteratív módon történik, a mintákat az együttes hibáinak megfelelően súlyozva, akkor ezt fokozásnak nevezzük.Az adattudományi versenyek sok nyertes megoldása együttesek. A valós gépi tanulási projektekben azonban a mérnököknek egyensúlyt kell találniuk a végrehajtási idő és a pontosság között.

32) mi a kiegyensúlyozatlan adatkészlet? Tudna felsorolni néhány módot a kezelésére?

a kiegyensúlyozatlan adatkészlet olyan, amelynek különböző a célkategóriák aránya. Például egy orvosi képeket tartalmazó adatkészlet, ahol valamilyen betegséget kell kimutatnunk, általában sokkal több negatív mintát tartalmaz, mint pozitív mintát—mondjuk a képek 98% – a betegség nélküli, 2% – a pedig betegséggel rendelkezik.

különböző lehetőségek vannak a kiegyensúlyozatlan adatkészletek kezelésére:

  • Túlmintavétel vagy alulmintavétel. A képzési adatkészletből történő egyenletes eloszlású mintavétel helyett más disztribúciókat is használhatunk, így a modell kiegyensúlyozottabb adatkészletet lát.
  • adatok bővítése. A kevésbé gyakori kategóriákba adatokat adhatunk hozzá a meglévő adatok ellenőrzött módon történő módosításával. A példa adatkészletben megfordíthatjuk a képeket betegségekkel, vagy zajt adhatunk a képek másolataihoz oly módon, hogy a betegség látható maradjon.
  • megfelelő mutatók használatával. A példaadatkészletben, ha olyan modellünk lenne, amely mindig negatív előrejelzéseket tett, akkor 98% – os pontosságot érne el. Vannak más mutatók, mint például a pontosság, a visszahívás és az F-pontszám, amelyek jobban leírják a modell pontosságát, ha kiegyensúlyozatlan adatkészletet használnak.

33) meg tudja magyarázni a felügyelt, felügyelet nélküli és megerősítő tanulás közötti különbségeket?

a felügyelt tanulás során egy modellt képezünk ki a bemeneti adatok és a kimeneti adatok közötti kapcsolat megtanulására. Címkézett adatokra van szükségünk ahhoz, hogy felügyelt tanulást végezhessünk.

felügyelet nélküli tanulással csak címkézetlen adatokkal rendelkezünk. A modell megtanulja az adatok ábrázolását. A felügyelet nélküli tanulást gyakran használják a modell paramétereinek inicializálására, amikor sok címkézetlen adat és a címkézett ADATOK kis része van. Először egy felügyelet nélküli modellt edzünk, majd ezt követően a modell súlyait használjuk egy felügyelt modell edzésére.

a megerősítő tanulásban a modellnek van néhány bemeneti adata és jutalma a modell kimenetétől függően. A modell megtanul egy olyan politikát, amely maximalizálja a jutalmat. A megerősítő tanulást sikeresen alkalmazták olyan stratégiai játékokban, mint a Go, sőt a klasszikus Atari videojátékok is.

34) mi az adatnövelés? Tudna néhány példát mondani?

az Adatfeltöltés az új adatok szintetizálásának technikája a meglévő adatok módosításával oly módon, hogy a cél ne változzon, vagy ismert módon megváltozzon.

a számítógépes látás az egyik olyan terület, ahol az adatok növelése nagyon hasznos. Sok módosítás van, amit tehetünk, hogy a képek:

  • átméretezés
  • vízszintes vagy függőleges flip
  • forgatás
  • zaj hozzáadása
  • deformáció
  • szín Módosításaminden probléma egyedi adatnövelő csővezetéket igényel. Például az OCR-en a flipek megváltoztatják a szöveget, és nem lesznek hasznosak; azonban az átméretezések és a kis forgatások segíthetnek.

35) mi az a Turing-teszt?

a Turing-teszt egy olyan módszer, amely teszteli a gép azon képességét, hogy megfeleljen az emberi szintű intelligenciának. Egy gépet arra használnak, hogy megkérdőjelezzék az emberi intelligenciát, hogy amikor átmegy a teszten, intelligensnek tekintik. Mégis, egy gépet intelligensnek lehet tekinteni anélkül, hogy elegendő ismerete lenne az emberekről ahhoz, hogy utánozza az embert.

36) Mi a pontosság?

a pontosság (más néven pozitív prediktív érték) a releváns példányok töredéke a beolvasott példányok között
Precision = true positive / (true positive + fals positive)

37) mi a visszahívás?

a visszahívás (más néven érzékenység) a releváns példányok teljes mennyiségéhez képest lekért releváns példányok töredéke.Recall = igaz pozitív / (igaz pozitív + hamis negatív)

38) határozza meg az F1-pontszámot.

a pontosság és a visszahívás súlyozott átlaga. Mind a hamis pozitív, mind a hamis negatív figyelembe veszi. A modell teljesítményének mérésére szolgál.
F1-pontszám = 2 * (precíziós * visszahívás) / (precíziós + visszahívás)

39) mi a költségfüggvény?

Költségfüggvény egy skaláris függvény, amely számszerűsíti a hiba tényező a neurális hálózat. Alacsonyabb a költség funkció jobb a neurális hálózat. PL: MNIST adathalmaz a kép osztályozásához, a bemeneti kép 2-es számjegyű, és a neurális hálózat tévesen azt jósolja, hogy 3

40) sorolja fel a különböző aktivációs neuronokat vagy funkciókat.

  • lineáris Neuron
  • bináris Küszöbneuron
  • sztochasztikus bináris Neuron
  • szigmoid Neuron
  • Tanh funkció
  • Korrigált lineáris egység (ReLU)

41) határozza meg a tanulási arányt.

a tanulási arány egy hiper-paraméter, amely szabályozza, hogy mennyire állítjuk be hálózatunk súlyait a veszteséggradiens tekintetében.

42) mi a lendület (w.r.t NN optimalizálás)?

a Momentum lehetővé teszi, hogy az optimalizálási algoritmus emlékezzen az utolsó lépésére, és hozzáadjon annak egy részét az aktuális lépéshez. Így még akkor is, ha az algoritmus beragadt egy lapos régióba, vagy egy kis helyi minimumba, kijuthat és folytathatja a valódi minimum felé.

43) mi a különbség a szakaszos gradiens Süllyedés és a sztochasztikus gradiens Süllyedés között?

Batch gradient descent kiszámítja a gradienst a teljes adatkészlet felhasználásával. Ez nagyszerű a konvex, vagy viszonylag sima hiba Elosztók. Ebben az esetben kissé közvetlenül haladunk az optimális megoldás felé, akár helyi, akár globális. Továbbá, kötegelt gradiens Süllyedés, adott lágyított tanulási Arány, végül megtalálja a minimumot a vonzás medencéjében.

sztochasztikus gradiens Süllyedés (SGD) kiszámítja a gradienst egyetlen minta segítségével. SGD jól működik (nem is, azt hiszem, de jobb, mint a kötegelt gradiens Süllyedés) hiba sokaságokat, amelyek sok helyi maximumok/minimumok. Ebben az esetben a csökkentett számú minta felhasználásával kiszámított kissé zajosabb gradiens hajlamos a modellt a helyi minimumokból egy remélhetőleg optimálisabb régióba rántani.

44) korszak vs köteg vs iteráció.

Epoch: egy előre és hátra lépés az összes képzési példából
tétel: egy lépésben feldolgozott példák (előre és hátra)
iteráció: képzési példák száma / Tételméret

45) Mi az eltűnő gradiens?

ahogy egyre több rejtett réteget adunk hozzá, a hátsó terjedés egyre kevésbé lesz hasznos az információk továbbításában az alsó rétegekhez. Valójában, ahogy az információ visszakerül, a gradiensek elkezdenek eltűnni, és a hálózatok súlyához képest kicsivé válnak.

46) mi a lemorzsolódás?

lemorzsolódás egy egyszerű módja annak, hogy megakadályozzák a neurális hálózat overfitting. Ez a neurális hálózat egyes egységeinek kiesése. Hasonló a természetes szaporodási folyamathoz, ahol a természet utódokat hoz létre különálló gének kombinálásával (mások elhagyása), ahelyett, hogy megerősítené azok együttes alkalmazkodását.

47) határozza meg az LSTM-et.

hosszú rövid távú memória – kifejezetten a hosszú távú függőség problémájának kezelésére tervezték, fenntartva azt az állapotot, hogy mit kell emlékezni és mit kell elfelejteni.

48) sorolja fel az LSTM legfontosabb összetevőit.

  • kapuk (felejtés, memória, frissítés & olvasás)
  • tanh(x) (-1 és 1 közötti értékek)
  • szigmoid(x) (0 és 0 közötti értékek 1)

49) sorolja fel az RNN változatait.

  • LSTM: hosszú rövid távú memória
  • GRU: zárt visszatérő egység
  • végpontok közötti hálózat
  • Memóriahálózat

50) Mi az Autoencoder, nevezzen meg néhány alkalmazást.

az automatikus kódolót alapvetően az adott adatok tömörített formájának megtanulására használják. Kevés alkalmazások közé

  • adatok denoising
  • dimenzió csökkentése
  • kép rekonstrukció
  • kép színezése

51) melyek a GaN összetevői?

  • generátor
  • Diszkriminátor

52) mi a különbség a boosting és a bagging között?

a Boosting és a bagging hasonló, mivel mindkettő együttes technika, ahol számos gyenge tanuló (osztályozó/regresszor, amely alig jobb, mint a találgatás) kombinálódik (átlagolás vagy maximális szavazás révén), hogy erős tanulót hozzon létre, aki pontos előrejelzéseket tud tenni. A zsákolás azt jelenti, hogy az adatkészlet bootstrap mintáit (helyettesítéssel) veszi, és minden minta egy (potenciálisan) gyenge tanulót képez. A Boosting viszont minden adatot felhasznál az egyes tanulók képzéséhez, de az előző tanulók által tévesen Osztályozott esetek nagyobb súlyt kapnak, így a későbbi tanulók nagyobb hangsúlyt fektetnek rájuk a képzés során.

53) magyarázza el, hogyan működik a ROC görbe.

a ROC görbe a valódi pozitív arányok és a hamis pozitív arány közötti kontraszt grafikus ábrázolása különböző küszöbértékeken. Gyakran használják proxyként a modell érzékenysége (valódi pozitívumok) vs a kiesés vagy annak valószínűsége között, hogy hamis riasztást vált ki (hamis pozitívok).

54) mi a különbség az I. és a II. típusú hiba között?

az I. típusú hiba hamis pozitív, míg a II.típusú hiba hamis negatív. Röviden szólva, az I. típusú hiba azt jelenti, hogy valami történt, amikor még nem történt meg, míg a II.típusú hiba azt jelenti, hogy azt állítja, hogy semmi sem történik, amikor valójában valami van.Okos módszer erre gondolni, ha az I. típusú hibára gondolunk, amikor azt mondjuk egy férfinak, hogy terhes, míg a II.típusú hiba azt jelenti, hogy elmondja egy terhes nőnek, hogy nem hordoz babát.

55) mi a különbség a generatív és a diszkriminatív modell között?

a generatív modell megtanulja az adatkategóriákat, míg a diszkriminatív modell egyszerűen megtanulja a különbséget a különböző adatkategóriák között. A diszkriminatív modellek általában felülmúlják a generatív modelleket az osztályozási feladatokban.

hozzájárulások

hozzájárulások leginkább üdvözölte.

  1. Villa a tároló.
  2. tegye fel kérdéseit vagy válaszait.
  3. nyissa meg a lekérési kérelmet.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.