Skillnaden mellan maskininlärning och djupinlärning

Nyckelskillnaden mellan maskininlärning och djupinlärning

De huvudsakliga skillnaderna mellan Machine Learning och Deep Learning är:

  • Machine Learning ger utmärkta prestanda på en liten/medelstor datauppsättning, medan Deep Learning ger utmärkta prestanda på en stor datauppsättning
  • ML fungerar på en low-end maskin, medan DL kräver kraftfull maskin, helst med GPU.
  • Machine Learning körtid från några minuter till timmar, medan Deep Learning tar upp till veckor.
  • Med maskininlärning behöver du färre data för att träna algoritmen än djupinlärning. Deep learning kräver en omfattande och mångsidig uppsättning data för att identifiera den underliggande strukturen.
Skillnaden mellan ML och DL
Skillnaden mellan ML och DL

Vad är AI?

AI (artificiell intelligens) är en gren av datavetenskap där maskiner programmeras och ges en kognitiv förmåga att tänka och härma handlingar som människor och djur. Riktmärket för AI är mänsklig intelligens när det gäller resonemang, tal, inlärning, vision och problemlösning, vilket ligger långt borta i framtiden.

AI har tre olika nivåer

1) Smal AI: En artificiell intelligens sägs vara smal när maskinen kan utföra en specifik uppgift bättre än en människa. Den aktuella forskningen om AI är här nu
2) Allmän AI: En artificiell intelligens når det allmänna tillståndet när den kan utföra vilken intellektuell uppgift som helst med samma noggrannhetsnivå som en människa skulle
3) Aktiv AI: En AI är aktiv när den kan slå människor i många uppgifter

Tidiga AI-system använde mönstermatchning och expert system.

Översikt över artificiell intelligens
Översikt över artificiell intelligens

Vad är maskininlärning (ML)?

ML (Maskininlärning) är en typ av AI där en dator tränas för att automatisera uppgifter som är uttömmande eller omöjliga för människor. Det är det bästa verktyget för att analysera, förstå och identifiera mönster i data baserat på studier av datoralgoritmer. Maskininlärning kan fatta beslut med minimal mänsklig inblandning.

Jämföra Artificiell intelligens vs maskininlärning använder maskininlärning data för att mata en algoritm som kan förstå förhållandet mellan ingången och utmatningen. När maskinen är klar med inlärningen kan den förutsäga värdet eller klassen för en ny datapunkt.

Vad är Deep Learning (DL)?

Deep learning är ett datorprogram som efterliknar nätverket av nervceller i en hjärna. Det är en delmängd av maskininlärning och kallas djupinlärning eftersom den använder sig av djupa neurala nätverk. Maskinen använder olika lager för att lära sig av data. Modellens djup representeras av antalet lager i modellen. Djup inlärning är det nya toppmoderna inom AI. Vid djupinlärning sker inlärningsfasen genom ett neuralt nätverk. Ett neuralt nätverk är en arkitektur där lagren staplas ovanpå varandra

Deep Learning (DL)

Skillnaden mellan Machine Learning och Deep Learning

Nedan är en viktig skillnad mellan Deep Learning vs Machine Learning

Parameter Maskininlärning Deep Learning
Databeroenden Utmärkta prestanda på en liten/medelstor dataset Utmärkt prestanda på en stor datamängd
Hårdvaruberoende Arbeta på en low-end maskin. Kräver kraftfull maskin, helst med GPU: DL utför en betydande mängd matrismultiplikation
Funktionsteknik Behöver förstå funktionerna som representerar data Du behöver inte förstå den bästa egenskapen som representerar data
Utförande tid Från några minuter till timmar Upp till veckor. Neural Network behöver beräkna ett betydande antal vikter
tolkningsbarhet Vissa algoritmer är lätta att tolka (logistik, beslutsträd), andra är nästan omöjliga (SVM, XGBoost) Svårt till omöjligt

När ska man använda ML eller DL?

I tabellen nedan sammanfattar vi skillnaden mellan maskininlärning och djupt lärande med exempel.

Parameter Maskininlärning Deep Learning
Utbildningsdataset Små Stora
Välj funktioner Ja Nej
Antal algoritmer Många
Träningsdags Kort Lång

Med maskininlärning behöver du färre data för att träna algoritmen än djupinlärning. Deep learning kräver en omfattande och mångsidig uppsättning data för att identifiera den underliggande strukturen. Dessutom ger maskininlärning en snabbare utbildad modell. Den mest avancerade djupinlärningsarkitekturen kan ta dagar till en vecka att träna. Fördelen med djupinlärning framför maskininlärning är att den är mycket exakt. Du behöver inte förstå vilka funktioner som är den bästa representationen av data; det neurala nätverket lärde sig hur man väljer kritiska egenskaper. I maskininlärning måste du själv välja vilka funktioner som ska ingå i modellen.

Deep Learning vs. Machine Learning vs. AI

Maskininlärningsprocess

Föreställ dig att du är tänkt att bygga ett program som känner igen objekt. För att träna modellen använder du en klassificerare. En klassificerare använder egenskaperna hos ett objekt för att försöka identifiera klassen det tillhör.

I exemplet kommer klassificeraren att tränas att upptäcka om bilden är en:

  • Cykel
  • Båten
  • Bil
  • Plan

De fyra objekten ovan är klassen klassificeraren måste känna igen. För att konstruera en klassificerare måste du ha en del data som indata och tilldela en etikett till den. Algoritmen kommer att ta dessa data, hitta ett mönster och sedan klassificera det i motsvarande klass.

Denna uppgift kallas övervakad inlärning. Vid övervakad inlärning inkluderar träningsdatan du matar till algoritmen en etikett.

Att träna en algoritm kräver att du följer några standardsteg:

  • Samla in data
  • Träna klassificeraren
  • Göra förutsägelser

Det första steget är nödvändigt, att välja rätt data kommer att göra algoritmen framgångsrik eller misslyckas. Datan du väljer för att träna modellen kallas en särdrag. I objektexemplet är funktionerna bildernas pixlar.

Varje bild är en rad i data medan varje pixel är en kolumn. Om din bild är i storleken 28×28 innehåller datasetet 784 kolumner (28×28). På bilden nedan har varje bild omvandlats till en funktionsvektor. Etiketten talar om för datorn vilket objekt som finns i bilden.

Maskininlärningsprocess
Maskininlärningsprocess

Målet är att använda dessa träningsdata för att klassificera typen av objekt. Det första steget består av att skapa funktionskolumnerna. Sedan innebär det andra steget att välja en algoritm för att träna modellen. När träningen är klar kommer modellen att förutsäga vilken bild som motsvarar vilket objekt.

Därefter är det enkelt att använda modellen för att förutsäga nya bilder. För varje ny bild som matas in i modellen kommer maskinen att förutsäga vilken klass den tillhör. Till exempel går en helt ny bild utan etikett genom modellen. För en människa är det trivialt att visualisera bilden som en bil. Maskinen använder sina förkunskaper för att förutsäga även om bilden är en bil.

Djup inlärningsprocess

Vid djupinlärning sker inlärningsfasen genom ett neuralt nätverk. Ett neuralt nätverk är en arkitektur där lagren staplas ovanpå varandra.

Tänk på samma bildexempel ovan. Träningssetet skulle matas till ett neuralt nätverk

Varje ingång går in i en neuron och multipliceras med en vikt. Resultatet av multiplikationen flödar till nästa lager och blir indata. Denna process upprepas för varje lager i nätverket. Det sista lagret heter utdatalagret; det ger ett verkligt värde för regressionsuppgiften och en sannolikhet för varje klass för klassificeringsuppgiften. Det neurala nätverket använder en matematisk algoritm för att uppdatera vikten av alla neuroner. Det neurala nätverket är färdigtränat när värdet på vikterna ger en utdata nära verkligheten. Till exempel kan ett vältränat neuralt nätverk känna igen objektet på en bild med högre noggrannhet än det traditionella neurala nätet.

Djup inlärningsprocess

Djup inlärningsprocess

Automatisera funktionsextraktion med DL

En datauppsättning kan innehålla ett dussin till hundratals funktioner. Systemet kommer att lära sig av relevansen av dessa funktioner. Men inte alla funktioner är meningsfulla för algoritmen. En avgörande del av maskininlärning är att hitta en relevant uppsättning funktioner för att få systemet att lära sig något.

Ett sätt att utföra denna del i maskininlärning är att använda funktionsextraktion. Funktionsextraktion kombinerar befintliga funktioner för att skapa en mer relevant uppsättning funktioner. Det kan göras med PCA, T-SNE eller någon annan dimensionsreduktionsalgoritm.

Till exempel, en bildbehandling, behöver utövaren extrahera funktionen manuellt i bilden som ögon, näsa, läppar och så vidare. Dessa extraherade funktioner matas till klassificeringsmodellen.

Djup inlärning löser detta problem, särskilt för ett konvolutionellt neuralt nätverk. Det första lagret i ett neuralt nätverk kommer att lära sig små detaljer från bilden; nästa lager kommer att kombinera den tidigare kunskapen för att göra mer komplex information. I det konvolutionella neurala nätverket görs funktionsextraktionen med hjälp av filtret. Nätverket tillämpar ett filter på bilden för att se om det finns en matchning, dvs formen på funktionen är identisk med en del av bilden. Om det finns en matchning kommer nätverket att använda detta filter. Processen att extrahera funktioner görs därför automatiskt.

Traditionell maskininlärning vs djupinlärning
Traditionell maskininlärning vs djupinlärning

Sammanfattning

Artificiell intelligens är att förmedla en kognitiv förmåga till en maskin. Vid jämförelse av AI vs Machine Learning använde tidiga AI-system mönstermatchning och expertsystem.

Tanken bakom maskininlärning är att maskinen kan lära sig utan mänsklig inblandning. Maskinen måste hitta ett sätt att lära sig hur man löser en uppgift givet data.

Deep learning är genombrottet inom området artificiell intelligens. När det finns tillräckligt med data att träna på, uppnår djupinlärning imponerande resultat, särskilt för bildigenkänning och textöversättning. Den främsta anledningen är att funktionsextraktionen görs automatiskt i nätverkets olika lager.