<aside>
đĄ
Glöm ej att lÀsa hela uppgiften innan ni börjar. Det finns anvÀndbar information i slutet av detta dokument.
</aside>
Prerequisites, innan del 1
I del 1 kommer vi bygga vidare pÄ implementationen av en enkel artificiell neuron frÄn lektion 1, m.a.o. följande startlÀge: (copy-paste frÄn lektion 1)
- đ» Implementera en egen neuron (t.ex. med for-loop över alla inputs) i er personliga Colab-miljö.
- đ» Kapsla in funktionaliteten i en Python-klass.
- đ Optional: Implementera nĂ„gra olika activation functions, t.ex. Sigmoid, ReLU, Leaky-ReLU och Tanh.
<aside>
đĄ
Numpy = Python-library för vektorer, matriser och sÄdant. Det Àr ett matematik-bibliotek, men inte specifikt avsett för machine-learning. DÀrför kommer vi byta frÄn Numpy till PyTorch i deluppgift C. Men i A och B kör vi Numpy för tydlighetens skull.
</aside>
Kravspecifikation för del 1
Scope för del 1 av denna inlÀmningsuppgift Àr att implementera följande versioner av en OCR-perceptron för handskrivna siffror:
(A) đ§ź Optional: En enda neuron
- I denna förberedande uppgift ska inte nÄgon fungerande OCR-mjukvara tas fram. Fokus Àr endast pÄ att förstÄ hur en enda neuron skulle kunna implementeras, utan fÀrdiga AI-libraries.
- A1: Neuron-implementation: Implementera en Neuron-klass utan Numpy, med bara vanliga rÀknesÀtten (
+ - * /).
- A2: Neuron-implementation: NumPy vektor-multiplikation internt i varje Neuron-objekt.
(B) â
 ANN-lager: NumPy version
Att vi nu ska implementera ett helt neuron-lager betyder att vi nu inte lÀngre behöver nÄgon separat Neuron-klass, eftersom vi kommer berÀkna output frÄn samtliga neuroner i lagret som en enda stor matris-operation:
- Alla input till ett lager = NumPy-vektor
- Alla vikter för alla neuroner i ett lager = en NumPy-matris
- Observera att vi inte kommer att trÀna nÀtverket som Àr implementerat som en NumPy-berÀkning - eftersom det blir mycket enklare i (C) nÀr vi övergÄr till PyTorch.
(C) â
ANN-lager: PyTorch version: