ಹಿಂದಿನ ವಿಭಾಗದಲ್ಲಿ, ನೀವು ಅತ್ಯಂತ ಸರಳ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ ಮಾದರಿ - ಒಂದು-ಪರತೆಯ ಪರ್ಸೆಪ್ಟ್ರಾನ್, ಒಂದು ರೇಖೀಯ ಎರಡು ವರ್ಗದ ವರ್ಗೀಕರಣ ಮಾದರಿಯನ್ನು ಕಲಿತಿದ್ದೀರಿ.
ಈ ವಿಭಾಗದಲ್ಲಿ ನಾವು ಈ ಮಾದರಿಯನ್ನು ಹೆಚ್ಚು ಲವಚಿಕವಾದ ರೂಪಕ್ಕೆ ವಿಸ್ತರಿಸುವೆವು, ಇದರಿಂದ ನಾವು:
- ಎರಡು ವರ್ಗದ ಜೊತೆಗೆ ಬಹು-ವರ್ಗ ವರ್ಗೀಕರಣ ಮಾಡಬಹುದು
- ವರ್ಗೀಕರಣದ ಜೊತೆಗೆ ರೆಗ್ರೆಷನ್ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಬಹುದು
- ರೇಖೀಯವಾಗಿ ವಿಭಜಿಸಲಾಗದ ವರ್ಗಗಳನ್ನು ವಿಭಜಿಸಬಹುದು
ನಾವು ಪೈಥಾನ್ನಲ್ಲಿ ನಮ್ಮದೇ ಮಾಯಾಜಾಲ ರೂಪರೇಖೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವೆವು, ಇದು ವಿವಿಧ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ ವಾಸ್ತುಶಿಲ್ಪಗಳನ್ನು ರಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಯಂತ್ರ ಅಧ್ಯಯನ ಸಮಸ್ಯೆಯನ್ನು ರೂಪೀಕರಿಸುವುದರಿಂದ ಪ್ರಾರಂಭಿಸೋಣ. ನಮಗೆ ತರಬೇತಿ ಡೇಟಾಸೆಟ್ X ಮತ್ತು ಲೇಬಲ್ಗಳಾದ Y ಇದ್ದರೆ, ನಾವು ಅತ್ಯಂತ ನಿಖರವಾದ ಭವಿಷ್ಯವಾಣಿಗಳನ್ನು ಮಾಡುವ ಮಾದರಿ f ರಚಿಸಬೇಕಾಗುತ್ತದೆ. ಭವಿಷ್ಯವಾಣಿಗಳ ಗುಣಮಟ್ಟವನ್ನು ಲಾಸ್ ಫಂಕ್ಷನ್ ℒ ಮೂಲಕ ಅಳೆಯಲಾಗುತ್ತದೆ. ಕೆಳಗಿನ ಲಾಸ್ ಫಂಕ್ಷನ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲಾಗುತ್ತವೆ:
- ರೆಗ್ರೆಷನ್ ಸಮಸ್ಯೆಗೆ, ಸಂಖ್ಯೆಯನ್ನು ಭವಿಷ್ಯವಾಣಿ ಮಾಡಬೇಕಾದಾಗ, ನಾವು ಅಬ್ಸೊಲ್ಯೂಟ್ ಎರರ್ ∑i|f(x(i))-y(i)| ಅಥವಾ ಸ್ಕ್ವೇರ್ಡ್ ಎರರ್ ∑i(f(x(i))-y(i))2 ಬಳಸಬಹುದು
- ವರ್ಗೀಕರಣಕ್ಕೆ, ನಾವು 0-1 ಲಾಸ್ (ಮೂಲತಃ ಮಾದರಿಯ ನಿಖರತೆಗೆ ಸಮಾನ) ಅಥವಾ ಲಾಜಿಸ್ಟಿಕ್ ಲಾಸ್ ಬಳಸುತ್ತೇವೆ.
ಒಂದು-ಪರತೆಯ ಪರ್ಸೆಪ್ಟ್ರಾನ್ನಲ್ಲಿ, f ಅನ್ನು ರೇಖೀಯ ಫಂಕ್ಷನ್ f(x)=wx+b ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿತ್ತು (ಇಲ್ಲಿ w ತೂಕ ಮ್ಯಾಟ್ರಿಕ್ಸ್, x ಇನ್ಪುಟ್ ವೈಶಿಷ್ಟ್ಯಗಳ ವೆಕ್ಟರ್, ಮತ್ತು b ಬಯಾಸ್ ವೆಕ್ಟರ್). ವಿಭಿನ್ನ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ ವಾಸ್ತುಶಿಲ್ಪಗಳಿಗೆ, ಈ ಫಂಕ್ಷನ್ ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ರೂಪವನ್ನು ಪಡೆಯಬಹುದು.
ವರ್ಗೀಕರಣದ ಸಂದರ್ಭದಲ್ಲಿ, ಸಂಬಂಧಿತ ವರ್ಗಗಳ ಪ್ರಾಬಬಿಲಿಟಿಗಳನ್ನು ನೆಟ್ವರ್ಕ್ ಔಟ್ಪುಟ್ ಆಗಿ ಪಡೆಯುವುದು ಇಚ್ಛನೀಯವಾಗಿರುತ್ತದೆ. ಯಾವುದೇ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರಾಬಬಿಲಿಟಿಗಳಾಗಿ ಪರಿವರ್ತಿಸಲು (ಉದಾ. ಔಟ್ಪುಟ್ ಅನ್ನು ನಾರ್ಮಲೈಸ್ ಮಾಡಲು), ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಸಾಫ್ಟ್ಮ್ಯಾಕ್ಸ್ ಫಂಕ್ಷನ್ σ ಬಳಸುತ್ತೇವೆ, ಮತ್ತು ಫಂಕ್ಷನ್ f ಆಗುತ್ತದೆ f(x)=σ(wx+b)
ಮೇಲಿನ f ವ್ಯಾಖ್ಯಾನದಲ್ಲಿ, w ಮತ್ತು b ಅನ್ನು ಪ್ಯಾರಾಮೀಟರ್ಗಳು θ=⟨w,b⟩ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಡೇಟಾಸೆಟ್ ⟨X,Y⟩ ನೀಡಿದಾಗ, ನಾವು ಪ್ಯಾರಾಮೀಟರ್ಗಳ ಆಧಾರದ ಮೇಲೆ ಸಂಪೂರ್ಣ ಡೇಟಾಸೆಟ್ ಮೇಲೆ ಒಟ್ಟು ದೋಷವನ್ನು ಲೆಕ್ಕಿಸಬಹುದು.
✅ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ ತರಬೇತಿಯ ಗುರಿ ದೋಷವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು, ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ
ಫಂಕ್ಷನ್ ಆಪ್ಟಿಮೈಜೆಷನ್ಗೆ ಪ್ರಸಿದ್ಧ ವಿಧಾನವೆಂದರೆ ಗ್ರೇಡಿಯಂಟ್ ಡಿಸೆಂಟ್. ಆಲೋಚನೆ ಎಂದರೆ, ನಾವು ಲಾಸ್ ಫಂಕ್ಷನ್ನ ಡೆರಿವೇಟಿವ್ (ಬಹು-ಮಾನದ ಪ್ರಕರಣದಲ್ಲಿ ಗ್ರೇಡಿಯಂಟ್) ಅನ್ನು ಪ್ಯಾರಾಮೀಟರ್ಗಳ ಪ್ರಕಾರ ಲೆಕ್ಕಿಸಿ, ದೋಷ ಕಡಿಮೆಯಾಗುವಂತೆ ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಬದಲಾಯಿಸಬಹುದು. ಇದನ್ನು ಹೀಗೆ ರೂಪಿಸಬಹುದು:
- ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಕೆಲವು ಯಾದೃಚ್ಛಿಕ ಮೌಲ್ಯಗಳಿಂದ ಪ್ರಾರಂಭಿಸಿ w(0), b(0)
- ಕೆಳಗಿನ ಹಂತವನ್ನು ಅನೇಕ ಬಾರಿ ಪುನರಾವರ್ತಿಸಿ:
- w(i+1) = w(i)-η∂ℒ/∂w
- b(i+1) = b(i)-η∂ℒ/∂b
ತರಬೇತಿಯ ಸಮಯದಲ್ಲಿ, ಆಪ್ಟಿಮೈಜೆಷನ್ ಹಂತಗಳನ್ನು ಸಂಪೂರ್ಣ ಡೇಟಾಸೆಟ್ ಪರಿಗಣಿಸಿ ಲೆಕ್ಕಿಸಬೇಕು (ಲಾಸ್ ಎಲ್ಲಾ ತರಬೇತಿ ಮಾದರಿಗಳ ಮೊತ್ತವಾಗಿ ಲೆಕ್ಕಿಸಲಾಗುತ್ತದೆ). ಆದರೆ ನಿಜ ಜೀವನದಲ್ಲಿ ನಾವು ಡೇಟಾಸೆಟ್ನ ಸಣ್ಣ ಭಾಗಗಳನ್ನು ಮಿನಿಬ್ಯಾಚ್ಗಳು ಎಂದು ತೆಗೆದು, ಆ ಭಾಗದ ಆಧಾರದ ಮೇಲೆ ಗ್ರೇಡಿಯಂಟ್ಗಳನ್ನು ಲೆಕ್ಕಿಸುತ್ತೇವೆ. ಪ್ರತಿಯೊಂದು ಬಾರಿ ಯಾದೃಚ್ಛಿಕವಾಗಿ ಭಾಗವನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದರಿಂದ, ಈ ವಿಧಾನವನ್ನು ಸ್ಟೋಚಾಸ್ಟಿಕ್ ಗ್ರೇಡಿಯಂಟ್ ಡಿಸೆಂಟ್ (SGD) ಎಂದು ಕರೆಯುತ್ತಾರೆ.
ಒಂದು-ಪರತೆಯ ನೆಟ್ವರ್ಕ್, ಮೇಲಿನಂತೆ, ರೇಖೀಯವಾಗಿ ವಿಭಜಿಸಬಹುದಾದ ವರ್ಗಗಳನ್ನು ವರ್ಗೀಕರಿಸಲು ಸಾಧ್ಯ. ಹೆಚ್ಚು ಸಮೃದ್ಧ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು, ನಾವು ನೆಟ್ವರ್ಕ್ನ ಹಲವು ಪರತಿಗಳನ್ನು ಸಂಯೋಜಿಸಬಹುದು. ಗಣಿತಶಾಸ್ತ್ರೀಯವಾಗಿ, ಇದು ಅರ್ಥವಾಗುತ್ತದೆ f ಫಂಕ್ಷನ್ ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ರೂಪ ಹೊಂದಿದ್ದು, ಹಲವಾರು ಹಂತಗಳಲ್ಲಿ ಲೆಕ್ಕಿಸಲಾಗುತ್ತದೆ:
- z1=w1x+b1
- z2=w2α(z1)+b2
- f = σ(z2)
ಇಲ್ಲಿ, α ಒಂದು ಅರೇಖೀಯ ಸಕ್ರಿಯತೆ ಫಂಕ್ಷನ್, σ ಸಾಫ್ಟ್ಮ್ಯಾಕ್ಸ್ ಫಂಕ್ಷನ್, ಮತ್ತು ಪ್ಯಾರಾಮೀಟರ್ಗಳು θ=<w1,b1,w2,b2>.
ಗ್ರೇಡಿಯಂಟ್ ಡಿಸೆಂಟ್ ಆಲ್ಗಾರಿಥಮ್ ಅದೇ ಆಗಿರುತ್ತದೆ, ಆದರೆ ಗ್ರೇಡಿಯಂಟ್ಗಳನ್ನು ಲೆಕ್ಕಿಸುವುದು ಕಷ್ಟಕರವಾಗುತ್ತದೆ. ಚೈನ್ ವ್ಯುತ್ಪನ್ನ ನಿಯಮವನ್ನು ಅನುಸರಿಸಿ, ಡೆರಿವೇಟಿವ್ಗಳನ್ನು ಹೀಗೆ ಲೆಕ್ಕಿಸಬಹುದು:
- ∂ℒ/∂w2 = (∂ℒ/∂σ)(∂σ/∂z2)(∂z2/∂w2)
- ∂ℒ/∂w1 = (∂ℒ/∂σ)(∂σ/∂z2)(∂z2/∂α)(∂α/∂z1)(∂z1/∂w1)
✅ ಚೈನ್ ವ್ಯುತ್ಪನ್ನ ನಿಯಮವನ್ನು ಬಳಸಿ ಲಾಸ್ ಫಂಕ್ಷನ್ನ ಡೆರಿವೇಟಿವ್ಗಳನ್ನು ಪ್ಯಾರಾಮೀಟರ್ಗಳ ಪ್ರಕಾರ ಲೆಕ್ಕಿಸಲಾಗುತ್ತದೆ.
ಎಲ್ಲಾ ಅಭಿವ್ಯಕ್ತಿಗಳ ಎಡಭಾಗವು ಒಂದೇ ಆಗಿರುವುದರಿಂದ, ನಾವು ಲಾಸ್ ಫಂಕ್ಷನ್ನಿಂದ ಪ್ರಾರಂಭಿಸಿ ಗಣನಾತ್ಮಕ ಗ್ರಾಫ್ ಮೂಲಕ "ಹಿಂದಕ್ಕೆ" ಹೋಗಿ ಡೆರಿವೇಟಿವ್ಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಲೆಕ್ಕಿಸಬಹುದು. ಆದ್ದರಿಂದ ಬಹು-ಪರತೆಯ ಪರ್ಸೆಪ್ಟ್ರಾನ್ ತರಬೇತಿಯ ವಿಧಾನವನ್ನು ಬ್ಯಾಕ್ಪ್ರೊಪಾಗೇಶನ್ ಅಥವಾ 'ಬ್ಯಾಕ್ಪ್ರೊಪ್' ಎಂದು ಕರೆಯುತ್ತಾರೆ.
TODO: ಚಿತ್ರ ಉಲ್ಲೇಖ
✅ ನಾವು ನಮ್ಮ ನೋಟ್ಬುಕ್ ಉದಾಹರಣೆಯಲ್ಲಿ ಬ್ಯಾಕ್ಪ್ರೊಪ್ ಅನ್ನು ಹೆಚ್ಚಿನ ವಿವರದಲ್ಲಿ ಚರ್ಚಿಸುವೆವು.
ಈ ಪಾಠದಲ್ಲಿ, ನಾವು ನಮ್ಮದೇ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ ಲೈಬ್ರರಿಯನ್ನು ನಿರ್ಮಿಸಿದ್ದೇವೆ ಮತ್ತು ಅದನ್ನು ಸರಳ ಎರಡು-ಮಾನದ ವರ್ಗೀಕರಣ ಕಾರ್ಯಕ್ಕೆ ಬಳಸಿದ್ದೇವೆ.
ಸಹಾಯಕ ನೋಟ್ಬುಕ್ನಲ್ಲಿ, ನೀವು ಬಹು-ಪರತೆಯ ಪರ್ಸೆಪ್ಟ್ರಾನ್ಗಳನ್ನು ನಿರ್ಮಿಸುವ ಮತ್ತು ತರಬೇತಿಸುವ ನಿಮ್ಮದೇ ರೂಪರೇಖೆಯನ್ನು ಜಾರಿಗೆ ತರಲಿದ್ದೀರಿ. ನೀವು ಆಧುನಿಕ ನ್ಯೂರಲ್ ನೆಟ್ವರ್ಕ್ಗಳು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ವಿವರವಾಗಿ ನೋಡಬಹುದು.
OwnFramework ನೋಟ್ಬುಕ್ಗೆ ಹೋಗಿ ಅದನ್ನು ಅನುಸರಿಸಿ.
ಬ್ಯಾಕ್ಪ್ರೊಪಾಗೇಶನ್ AI ಮತ್ತು ML ನಲ್ಲಿ ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ಆಲ್ಗಾರಿಥಮ್, ಇದನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ಅಧ್ಯಯನ ಮಾಡುವುದು ಲಾಭದಾಯಕ.
ಈ ಪ್ರಯೋಗಶಾಲೆಯಲ್ಲಿ, ನೀವು ಈ ಪಾಠದಲ್ಲಿ ನಿರ್ಮಿಸಿದ ರೂಪರೇಖೆಯನ್ನು ಬಳಸಿಕೊಂಡು MNIST ಕೈಯಿಂದ ಬರೆದ ಅಂಕಿ ವರ್ಗೀಕರಣವನ್ನು ಪರಿಹರಿಸುವಂತೆ ಕೇಳಲಾಗುತ್ತದೆ.
ಅಸ್ವೀಕರಣ:
ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ Co-op Translator ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.
