Activity
Mon
Wed
Fri
Sun
Dec
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
What is this?
Less
More

Memberships

<hackersson>

Public • 18 • Free

6 contributions to <hackersson>
@Alexander - struktur?
Vet att du programmerar front end men också ML, har du någon struktur för när du gör vad? Kan bli lite spretigt för mig ibland för jag vill så gå extremt djupt in i ML. Men sedan också front end 🤣
0
3
New comment Feb 26
0 likes • Feb 25
@Amir Salim Programmerar i en hel del olika teknologier så förstår hur du känner. Jobbar med frontend och backend så det blir naturligt vilka tider jag gör just det och den tid jag får över spenderar jag på till exempel lära mig om ML. Innan jag hade jobb försökte jag spendera ungefär 3-4 dagar minst (beroende på hur svårt området är och hur mycket man spenderar varje dag) på en och samma sak så att man verkligen kommer in i det, särskilt viktigt när man är ny på området. När man har lite mer kött på benen kan man hoppa lite mer. Nu vet jag inte exakt hur din situation ser ut men ML är betydligt svårare än front-end, så skulle nog spendera lite mer tid åt gången på ML. Vet inte om det här är det mest optimala sättet att jobba eller lära sig på men det har funkat för mig iallafall.
0 likes • Feb 26
@Amir Salim har liknande mål, vill kunna använda ML för att kunna bygga produkter.
Reinforcement Learning (RL) är AWESOMEBALLS
Yo team! Har plöjt igenom en hel del RL (Reinforcement Learning) senaste tiden och måste säga att jag är helt såld på detta. Det är inte bara grundpelaren bakom självkörande bilar och avancerade robotar, utan det står också bakom genombrottet Alfa Go (du måste se, jag länkar). Något med RL har helt enkelt fångat mig – tror det är det magin i att inte behöva berätta för en modell exakt hur den ska göra saker, utan bara vad målet är. Tänk er scenariot: vi ska landa en raket på månen. Vi sparkar igång med att definiera en "reward" funktion. Det är inte bara en enkel +10 för rätt drag och -10 för fel, utan det kan bli riktigt knivigt och sofistikerat, beroende på vad vi vill att vår robot ska optimera mot. Detta är kärnan i RL – att styra lärandet genom belöningar mot det beteende vi vill se. Här står vår raket, eller robot, i ett visst "state" (s), redo att göra sin grej. Den väljer en "action" (a), och boom – den landar i en ny situation, eller ett nytt state (s'). Målet är att i varje given situation (s), välja en handling som maximerar returen från vår belöningsfunktion. Och här kommer Bellmans ekvation in i bilden, som vår räknemästare. Den ser till att utvärdera alla möjliga framtida scenarier (s') som vår robot kan hamna i, för att sedan välja den handling (a) som maximerar vår reward. Det är som en oupphörlig optimeringsdans, där ekvationen (V(s) = maxa(R(s,a) + γV(s'))) guidar varje steg. Och med hyperparametern gamma (γ) får vi makt att influera om vår robot ska tänka mer på korta eller långa drag – precis som en schackmästare som planerar flera drag framåt. Med denna hyperparameter kan vi ställa in om roboten ska ta det där steget åt höger för 15 poäng nu, eller navigera en lite klurigare väg som kanske tar 6 steg men leder till 25 poäng i slutändan. Det handlar alltså om att balansera mellan att utforska nya vägar och att utnyttja de vägar som redan är kända för att ge bra utdelning. Jag rekommenderar dig STARKT att kolla på dokumentären jag bifogar för att se kraften av RL.
2
2
New comment Feb 26
Reinforcement Learning (RL) är AWESOMEBALLS
0 likes • Feb 25
Vad rekommenderar du för resurser för att lära sig RL?
ML i C
De som har testat att bygga någonting med ML känner nog till bibliotek såsom PyTorch eller Tensorflow. Dessa har blivit extremt populära eftersom de abstraherar bort mycket av de jobbiga sakerna såsom att se till så att beräkningarna görs hypereffektivt. Biblioteken är även gjorda för att användas i Python, ett väldigt användarvänligt programmeringsspråk. Det låter en helt enkelt att jobba på de viktiga sakerna, att bygga riktigt grymma modeller. För att få en bättre förståelse för hur algoritmerna fungerar matematiskt men även vad som händer "inuti datorn" försökte jag bygga mitt egna ML bibliotek från scratch i C. Detta var inte lätt men jag fick en mycket större uppskattning för PyTorch och lärde mig en hel del. Jag kommer visa hur jag implementerade ett "fully connected"/linear/dense layer. I ett neural network har man lager vilket enkelt förklarat är olika typer av operationer som görs på datan. Det enklaste lagret "dense layer" (så jag kallar det i mitt bibliotek även fast jag mestadels använder PyTorch lol) tar en samling nummer som representerar någonting, multiplicerar det med en "vikt" och adderas med en "bias". Vikter och bias kallas för parametrar och påverkar outputen av nätverket, det är dessa man vill ändra på för att uppnå ett så bra resultat som möjligt. För att göra multiplikationen generell för hur stora datamängder som helst använder man matrismultiplikation. Note: Matriser och linjär algebra är utanför scopet av denna post men rekommenderar starkt att lära sig det om man vill bli bra på ML och förstå algoritmerna. Att gå igenom ett dense layer kan kompakt skrivas som: Y = WX + b, där W är en matris med alla vikter, Y är outputen, X är inputdatan och b är bias. För att implementera detta i mitt program var jag först tvungen att implementera en matris struktur. (Se första bild). En matris kan ses som en tabell där man har rader och kolumner. Detta kan ses som motsvarigheten till en klass i Python. För att skapa matriser implementerade jag, createMatrix på detta vis (Se andra bild). Lägg märke till funktionen malloc. I andra mer high level språk är det väldigt enkelt att definiera arrays, man definierar en ny variabel och sen kanske man använder [] eller liknande tecken. I C fungerar det inte riktigt likadant, man måste istället definiera exakt hur stor del av ram minnet som ska användas. Eftersom arrayen kommer ha längd cols * rows och vara av typ floats innebär det att storleken kommer vara antal element gånger storleken på datatypen. Jag har även implementerat andra funktioner relaterade till matriser som jag inte kommer gå igenom en som finns på min github att kika på.
1
4
New comment Feb 26
ML i C
0 likes • Feb 25
@Amir Salim Ingen fara! Inlägg om backprop kommer snart 🫡. Tyckte det var nice att skriva, en utmaning att sätta ord på saker som man själv anser som självklara. Är ingen expert på detta men utifrån mina erfarenheter skulle jag starkt rekommendera att bli bra på linjär algebra eftersom det används verkligen till allt inom ML, förstod inte det i början. Sedan är det också bra om man har koll på C. Sist men inte minst skulle jag även rekommendera att man verkligen djupdyker i matten, speciellt linjära algebran och flervarren. Du har helt rätt att bias är en vektor. Dock kan man uttrycka en vektor som en matrix med dimensioner n x 1 eller 1 x n. Detta gör att jag kan spara en vektor som en matrix.
Hur fungerar AI / computer vision (förklaring för 5 åring)
Låt mig bryta ned det. 1. Datorn får en bild skickad till sig. 2. Datorn använder en process som heter convolution: Vi kan se det som att vi "anställer" en liten gubbe med ett förstoringsglas som analyserar varje pixel av bilden, där gubben letar efter mönster och detaljer. Oftast så anställer man 16, 32 eller 64 små gubbar samtidigt. När dessa små gubbar gjort klart sin analys ger de oss en tabell med numeriska värden där de högsta värdena på den tabellen reflekterar de delar av bilden där de hittat mönster och detaljer. 3. Förenkla gubbarnas resultat: Våra små gubbar med förstoringsglas har nu försett oss med 16, 32 eller 64 olika individuella tabeller med data. Dessa tabeller har VÄLDIGT mycket data och är tredimensionella. Därför så applicerar vi en funktion som heter pooling, där vi extraherar endast de högsta numeriska värdena, eftersom det är de högsta värdena som betyder att våra gubbar hittat ett mönster i bilden. Detta minskar även storleken på dessa tabeller och gör att våra datorer kan enklare "computa" dessa tabeller. 4. Vi repeterar steg 2 och 3: Vi anställer 16, 32 eller 64 små gubbar med förstoringsglass som ska convolva bilderna IGEN och leta efter FLER komplexa mönster. Dessa gubbar fortsätter arbetet från de tidigare gubbarna - alltså så analyserar de vad de andra redan tidigare har analyserat. Vi applicerar pooling igen, för att endast få med oss den datan som är relevant (där våra arbetare funnit mönster). Man kan repetera detta steg med att fortsätta anställa små gubbar och poola deras resultat många gånger. Desto fler gånger man gör det, desto mer detaljer av bilden man fångar, men det kan medföra problematik i form av att modellen blir för smart för sitt egna bästa och börjar lära sig fel saker (overfitting/high variance). Om du kollar på den bifogade bilden så ser du att varje bild har en gul ruta på sig och att den blir mindre och mindre – den gula rutan representerar gubben med förstoringsglas som analyserar, och att bilden blir mindre är för att vi applicerar pooling för att få bort all irrelevanta delar av bilden vi längre inte vill ha
1
3
New comment Feb 21
Hur fungerar AI / computer vision (förklaring för 5 åring)
Snyggt förklarat! Väldigt intressant ämne, coolt hur något så "enkelt" kan åstadkomma så bra resultat.
Ny? Börja här!
Välkommen till hackersson. Vårt syfte? Sammanföra Sveriges skarpaste utvecklare och programmerare för att tillsammans forma teknikens framtid. Som medlem av hackersson är du här för att driva, skapa och förändra. Innan vi dyker in, presentera dig: - Ditt namn. - Dina färdigheter - Ditt nuvarande projekt eller fokus. - Din bas (stad eller land). Låt oss ta tekniken framåt. Kommentera nedan. P.S. Rekommenderar dig starkt att ladda ned Skool som app på mobilen, finns för både IOS och Android. P.P.S Du kommer att bli utslängd för gruppen om du försäker marknadsföra andra tjänster och spamma människor.
Complete action
0
7
New comment Feb 20
Ny? Börja här!
0 likes • Feb 19
@Amir Salim yes exakt, vill fatta exakt vad som händer. Jätteopraktiskt och jobbigt men lärorikt 😅.
@Amir Salim alright, kan skriva ihop något
1-6 of 6
Alexander Vivas Jernström
1
2points to level up
@alexander-vivas-jernstrom-2090
Software engineer working with React, Typescript, Node, Rails. Interested in AI/ML

Active 9d ago
Joined Feb 19, 2024
powered by