ನರ ಜಾಲಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು: ಡೀಬಗ್ ಮಾಡಲು ಪರಿಶೀಲನಾಪಟ್ಟಿ

ನರ ಜಾಲಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು: ಡೀಬಗ್ ಮಾಡಲು ಪರಿಶೀಲನಾಪಟ್ಟಿ

ಯಂತ್ರ ಕಲಿಕೆ ಸಾಫ್ಟ್‌ವೇರ್ ಉತ್ಪನ್ನಗಳ ಕೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ಸಂಕೀರ್ಣವಾಗಿದೆ ಮತ್ತು ಸಾಕಷ್ಟು ಗೊಂದಲಮಯವಾಗಿದೆ. ಅದರಲ್ಲಿರುವ ದೋಷಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು ಮತ್ತು ತೆಗೆದುಹಾಕುವುದು ಸಂಪನ್ಮೂಲ-ತೀವ್ರವಾದ ಕಾರ್ಯವಾಗಿದೆ. ಸರಳ ಕೂಡ ಫೀಡ್‌ಫಾರ್ವರ್ಡ್ ನರ ಜಾಲಗಳು ನೆಟ್‌ವರ್ಕ್ ಆರ್ಕಿಟೆಕ್ಚರ್, ತೂಕದ ಪ್ರಾರಂಭ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗೆ ಗಂಭೀರವಾದ ವಿಧಾನದ ಅಗತ್ಯವಿದೆ. ಒಂದು ಸಣ್ಣ ತಪ್ಪು ಅಹಿತಕರ ಸಮಸ್ಯೆಗಳಿಗೆ ಕಾರಣವಾಗಬಹುದು.

ಈ ಲೇಖನವು ನಿಮ್ಮ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಡೀಬಗ್ ಮಾಡುವ ಅಲ್ಗಾರಿದಮ್ ಬಗ್ಗೆ.

ಸ್ಕಿಲ್‌ಬಾಕ್ಸ್ ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ: ಪ್ರಾಯೋಗಿಕ ಕೋರ್ಸ್ ಮೊದಲಿನಿಂದ ಪೈಥಾನ್ ಡೆವಲಪರ್.

ನಾವು ನೆನಪಿಸುತ್ತೇವೆ: ಎಲ್ಲಾ Habr ಓದುಗರಿಗೆ - Habr ಪ್ರೊಮೊ ಕೋಡ್ ಬಳಸಿಕೊಂಡು ಯಾವುದೇ ಸ್ಕಿಲ್‌ಬಾಕ್ಸ್ ಕೋರ್ಸ್‌ಗೆ ದಾಖಲಾಗುವಾಗ 10 ರೂಬಲ್ ರಿಯಾಯಿತಿ.

ಅಲ್ಗಾರಿದಮ್ ಐದು ಹಂತಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

  • ಸುಲಭ ಆರಂಭ;
  • ನಷ್ಟಗಳ ದೃಢೀಕರಣ;
  • ಮಧ್ಯಂತರ ಫಲಿತಾಂಶಗಳು ಮತ್ತು ಸಂಪರ್ಕಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ;
  • ಪ್ಯಾರಾಮೀಟರ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್;
  • ಕೆಲಸದ ನಿಯಂತ್ರಣ.

ಉಳಿದವುಗಳಿಗಿಂತ ನಿಮಗೆ ಏನಾದರೂ ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕವೆಂದು ತೋರುತ್ತಿದ್ದರೆ, ನೀವು ತಕ್ಷಣ ಈ ವಿಭಾಗಗಳಿಗೆ ಹೋಗಬಹುದು.

ಸುಲಭ ಆರಂಭ

ಸಂಕೀರ್ಣವಾದ ವಾಸ್ತುಶಿಲ್ಪ, ಕ್ರಮಬದ್ಧಗೊಳಿಸುವಿಕೆ ಮತ್ತು ಕಲಿಕೆಯ ದರ ಶೆಡ್ಯೂಲರ್ ಹೊಂದಿರುವ ನರಮಂಡಲವು ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಡೀಬಗ್ ಮಾಡಲು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿದೆ. ನಾವು ಇಲ್ಲಿ ಸ್ವಲ್ಪ ಟ್ರಿಕಿ ಆಗಿದ್ದೇವೆ, ಏಕೆಂದರೆ ಪಾಯಿಂಟ್ ಸ್ವತಃ ಡೀಬಗ್ ಮಾಡುವಿಕೆಗೆ ಪರೋಕ್ಷವಾಗಿ ಸಂಬಂಧಿಸಿದೆ, ಆದರೆ ಇದು ಇನ್ನೂ ಪ್ರಮುಖ ಶಿಫಾರಸುಯಾಗಿದೆ.

ಸರಳವಾದ ಮಾದರಿಯನ್ನು ರಚಿಸುವುದು ಮತ್ತು ಅದನ್ನು ಒಂದು ಸೆಟ್ (ಪಾಯಿಂಟ್) ಡೇಟಾದಲ್ಲಿ ತರಬೇತಿ ಮಾಡುವುದು ಸರಳವಾದ ಪ್ರಾರಂಭವಾಗಿದೆ.

ಮೊದಲು ನಾವು ಸರಳೀಕೃತ ಮಾದರಿಯನ್ನು ರಚಿಸುತ್ತೇವೆ

ತ್ವರಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಲು, ನಾವು ಒಂದೇ ಗುಪ್ತ ಪದರದೊಂದಿಗೆ ಸಣ್ಣ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ನಂತರ ನಾವು ಕ್ರಮೇಣ ಮಾದರಿಯನ್ನು ಸಂಕೀರ್ಣಗೊಳಿಸುತ್ತೇವೆ, ಅದರ ರಚನೆಯ ಪ್ರತಿ ಹೊಸ ಅಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತೇವೆ (ಹೆಚ್ಚುವರಿ ಲೇಯರ್, ಪ್ಯಾರಾಮೀಟರ್, ಇತ್ಯಾದಿ), ಮತ್ತು ಮುಂದುವರೆಯಿರಿ.

ನಾವು ಒಂದೇ ಸೆಟ್ (ಪಾಯಿಂಟ್) ಡೇಟಾದಲ್ಲಿ ಮಾದರಿಯನ್ನು ತರಬೇತಿ ಮಾಡುತ್ತೇವೆ

ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್‌ಗೆ ತ್ವರಿತ ವಿವೇಕದ ಪರಿಶೀಲನೆಯಾಗಿ, ಸಿಸ್ಟಮ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೇ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಲು ನೀವು ಒಂದು ಅಥವಾ ಎರಡು ತರಬೇತಿ ಡೇಟಾ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಬಳಸಬಹುದು. ನರಮಂಡಲವು ತರಬೇತಿ ಮತ್ತು ಪರೀಕ್ಷೆಯಲ್ಲಿ 100% ನಿಖರತೆಯನ್ನು ತೋರಿಸಬೇಕು. ಇದು ಹಾಗಲ್ಲದಿದ್ದರೆ, ಮಾದರಿಯು ತುಂಬಾ ಚಿಕ್ಕದಾಗಿದೆ ಅಥವಾ ನೀವು ಈಗಾಗಲೇ ದೋಷವನ್ನು ಹೊಂದಿದ್ದೀರಿ.

ಎಲ್ಲವೂ ಸರಿಯಾಗಿದ್ದರೂ, ಮುಂದುವರಿಯುವ ಮೊದಲು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಯುಗಗಳಿಗೆ ಮಾದರಿಯನ್ನು ತಯಾರಿಸಿ.

ನಷ್ಟದ ಮೌಲ್ಯಮಾಪನ

ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರಿಷ್ಕರಿಸಲು ನಷ್ಟದ ಅಂದಾಜು ಮುಖ್ಯ ಮಾರ್ಗವಾಗಿದೆ. ನಷ್ಟವು ಸಮಸ್ಯೆಗೆ ಸೂಕ್ತವಾಗಿದೆ ಮತ್ತು ನಷ್ಟದ ಕಾರ್ಯಗಳನ್ನು ಸರಿಯಾದ ಪ್ರಮಾಣದಲ್ಲಿ ರೇಟ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ನೀವು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬೇಕು. ನೀವು ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ನಷ್ಟದ ಪ್ರಕಾರವನ್ನು ಬಳಸಿದರೆ, ಅವೆಲ್ಲವೂ ಒಂದೇ ಕ್ರಮದಲ್ಲಿವೆ ಮತ್ತು ಸರಿಯಾಗಿ ಅಳೆಯಲಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.

ಆರಂಭಿಕ ನಷ್ಟಗಳಿಗೆ ಗಮನ ಕೊಡುವುದು ಮುಖ್ಯ. ಮಾದರಿಯು ಯಾದೃಚ್ಛಿಕ ಊಹೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭವಾದರೆ ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶಕ್ಕೆ ನಿಜವಾದ ಫಲಿತಾಂಶವು ಎಷ್ಟು ಹತ್ತಿರದಲ್ಲಿದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ. IN ಆಂಡ್ರೆ ಕಾರ್ಪತಿ ಅವರ ಕೆಲಸವು ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ:: “ನೀವು ಕಡಿಮೆ ಸಂಖ್ಯೆಯ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿದಾಗ ನೀವು ನಿರೀಕ್ಷಿಸುವ ಫಲಿತಾಂಶವನ್ನು ನೀವು ಪಡೆಯುತ್ತೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಡೇಟಾ ನಷ್ಟವನ್ನು ತಕ್ಷಣವೇ ಪರಿಶೀಲಿಸುವುದು ಉತ್ತಮ (ಕ್ರಮಬದ್ಧಗೊಳಿಸುವಿಕೆಯ ಮಟ್ಟವನ್ನು ಶೂನ್ಯಕ್ಕೆ ಹೊಂದಿಸಿ). ಉದಾಹರಣೆಗೆ, Softmax ವರ್ಗೀಕರಣದೊಂದಿಗೆ CIFAR-10 ಗಾಗಿ, ನಾವು ಆರಂಭಿಕ ನಷ್ಟವನ್ನು 2.302 ಎಂದು ನಿರೀಕ್ಷಿಸುತ್ತೇವೆ ಏಕೆಂದರೆ ನಿರೀಕ್ಷಿತ ಪ್ರಸರಣ ಸಂಭವನೀಯತೆಯು ಪ್ರತಿ ವರ್ಗಕ್ಕೆ 0,1 ಆಗಿದೆ (10 ತರಗತಿಗಳು ಇರುವುದರಿಂದ) ಮತ್ತು Softmax ನಷ್ಟವು ಸರಿಯಾದ ವರ್ಗದ ಋಣಾತ್ಮಕ ಲಾಗ್ ಸಾಧ್ಯತೆಯಾಗಿದೆ. − ln (0.1) = 2.302.”

ಬೈನರಿ ಉದಾಹರಣೆಗಾಗಿ, ಪ್ರತಿಯೊಂದು ವರ್ಗಕ್ಕೂ ಒಂದೇ ರೀತಿಯ ಲೆಕ್ಕಾಚಾರವನ್ನು ಸರಳವಾಗಿ ಮಾಡಲಾಗುತ್ತದೆ. ಇಲ್ಲಿ, ಉದಾಹರಣೆಗೆ, ಡೇಟಾ: 20% 0 ಮತ್ತು 80% 1. ನಿರೀಕ್ಷಿತ ಆರಂಭಿಕ ನಷ್ಟವು –0,2ln (0,5) –0,8ln (0,5) = 0,693147 ವರೆಗೆ ಇರುತ್ತದೆ. ಫಲಿತಾಂಶವು 1 ಕ್ಕಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ನರಮಂಡಲದ ತೂಕವು ಸರಿಯಾಗಿ ಸಮತೋಲಿತವಾಗಿಲ್ಲ ಅಥವಾ ಡೇಟಾವನ್ನು ಸಾಮಾನ್ಯಗೊಳಿಸಲಾಗಿಲ್ಲ ಎಂದು ಸೂಚಿಸುತ್ತದೆ.

ಮಧ್ಯಂತರ ಫಲಿತಾಂಶಗಳು ಮತ್ತು ಸಂಪರ್ಕಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ

ನರಮಂಡಲವನ್ನು ಡೀಬಗ್ ಮಾಡಲು, ನೆಟ್ವರ್ಕ್ನಲ್ಲಿನ ಪ್ರಕ್ರಿಯೆಗಳ ಡೈನಾಮಿಕ್ಸ್ ಮತ್ತು ಅವುಗಳು ಸಂಪರ್ಕಗೊಂಡಿರುವ ಪ್ರತ್ಯೇಕ ಮಧ್ಯಂತರ ಪದರಗಳ ಪಾತ್ರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅವಶ್ಯಕ. ನೀವು ಎದುರಿಸಬಹುದಾದ ಸಾಮಾನ್ಯ ದೋಷಗಳು ಇಲ್ಲಿವೆ:

  • ಗ್ರ್ಯಾಡಲ್ ನವೀಕರಣಗಳಿಗಾಗಿ ತಪ್ಪಾದ ಅಭಿವ್ಯಕ್ತಿಗಳು;
  • ತೂಕದ ನವೀಕರಣಗಳನ್ನು ಅನ್ವಯಿಸಲಾಗಿಲ್ಲ;
  • ಸ್ಫೋಟಿಸುವ ಇಳಿಜಾರುಗಳು.

ಗ್ರೇಡಿಯಂಟ್ ಮೌಲ್ಯಗಳು ಶೂನ್ಯವಾಗಿದ್ದರೆ, ಆಪ್ಟಿಮೈಜರ್‌ನಲ್ಲಿನ ಕಲಿಕೆಯ ದರವು ತುಂಬಾ ನಿಧಾನವಾಗಿದೆ ಅಥವಾ ಗ್ರೇಡಿಯಂಟ್ ಅನ್ನು ನವೀಕರಿಸಲು ನೀವು ತಪ್ಪಾದ ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ಎದುರಿಸುತ್ತಿರುವಿರಿ ಎಂದರ್ಥ.

ಹೆಚ್ಚುವರಿಯಾಗಿ, ಸಕ್ರಿಯಗೊಳಿಸುವ ಕಾರ್ಯಗಳು, ತೂಕಗಳು ಮತ್ತು ಪ್ರತಿಯೊಂದು ಪದರಗಳ ನವೀಕರಣಗಳ ಮೌಲ್ಯಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವುದು ಅವಶ್ಯಕ. ಉದಾಹರಣೆಗೆ, ಪ್ಯಾರಾಮೀಟರ್ ನವೀಕರಣಗಳ ಪ್ರಮಾಣ (ತೂಕಗಳು ಮತ್ತು ಪಕ್ಷಪಾತಗಳು) 1-e3 ಆಗಿರಬೇಕು.

"ಡೈಯಿಂಗ್ ReLU" ಅಥವಾ ಎಂಬ ವಿದ್ಯಮಾನವಿದೆ "ಕಣ್ಮರೆಯಾಗುತ್ತಿರುವ ಗ್ರೇಡಿಯಂಟ್ ಸಮಸ್ಯೆ", ReLU ನ್ಯೂರಾನ್‌ಗಳು ಅದರ ತೂಕಕ್ಕೆ ದೊಡ್ಡ ಋಣಾತ್ಮಕ ಪಕ್ಷಪಾತ ಮೌಲ್ಯವನ್ನು ಕಲಿತ ನಂತರ ಶೂನ್ಯವನ್ನು ಔಟ್‌ಪುಟ್ ಮಾಡಿದಾಗ. ದತ್ತಾಂಶದ ಯಾವುದೇ ಹಂತದಲ್ಲಿ ಈ ನ್ಯೂರಾನ್‌ಗಳು ಮತ್ತೆ ಉರಿಯುವುದಿಲ್ಲ.

ಸಂಖ್ಯಾತ್ಮಕ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಗ್ರೇಡಿಯಂಟ್ ಅನ್ನು ಅಂದಾಜು ಮಾಡುವ ಮೂಲಕ ಈ ದೋಷಗಳನ್ನು ಗುರುತಿಸಲು ನೀವು ಗ್ರೇಡಿಯಂಟ್ ಪರಿಶೀಲನೆಯನ್ನು ಬಳಸಬಹುದು. ಇದು ಲೆಕ್ಕಾಚಾರದ ಇಳಿಜಾರುಗಳಿಗೆ ಸಮೀಪದಲ್ಲಿದ್ದರೆ, ಬ್ಯಾಕ್‌ಪ್ರೊಪಾಗೇಶನ್ ಅನ್ನು ಸರಿಯಾಗಿ ಅಳವಡಿಸಲಾಗಿದೆ. ಗ್ರೇಡಿಯಂಟ್ ಚೆಕ್ ರಚಿಸಲು, CS231 ನಿಂದ ಈ ಉತ್ತಮ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಇಲ್ಲಿ и ಇಲ್ಲಿಮತ್ತು ಜೊತೆಗೆ ಪಾಠ ಈ ವಿಷಯದ ಬಗ್ಗೆ ಆಂಡ್ರ್ಯೂ ಎನ್ಗಾ.

ಫೈಜಾನ್ ಶೇಖ್ ನರಮಂಡಲವನ್ನು ದೃಶ್ಯೀಕರಿಸುವ ಮೂರು ಮುಖ್ಯ ವಿಧಾನಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ:

  • ತರಬೇತಿ ಪಡೆದ ಮಾದರಿಯ ಸಾಮಾನ್ಯ ರಚನೆಯನ್ನು ನಮಗೆ ತೋರಿಸುವ ಸರಳ ವಿಧಾನಗಳು ಪೂರ್ವಭಾವಿಗಳಾಗಿವೆ. ಇವುಗಳು ನರಮಂಡಲದ ಪ್ರತ್ಯೇಕ ಪದರಗಳ ಆಕಾರಗಳು ಅಥವಾ ಫಿಲ್ಟರ್‌ಗಳ ಔಟ್‌ಪುಟ್ ಮತ್ತು ಪ್ರತಿ ಪದರದೊಳಗಿನ ನಿಯತಾಂಕಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತವೆ.
  • ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಆಧಾರಿತ. ಅವುಗಳಲ್ಲಿ, ಅವುಗಳ ಕಾರ್ಯಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ನಾವು ಪ್ರತ್ಯೇಕ ನ್ಯೂರಾನ್‌ಗಳು ಅಥವಾ ನ್ಯೂರಾನ್‌ಗಳ ಗುಂಪುಗಳ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುತ್ತೇವೆ.
  • ಇಳಿಜಾರುಗಳನ್ನು ಆಧರಿಸಿದೆ. ಈ ವಿಧಾನಗಳು ಮಾದರಿ ತರಬೇತಿಯ ಫಾರ್ವರ್ಡ್ ಮತ್ತು ಬ್ಯಾಕ್‌ವರ್ಡ್ ಪಾಸ್‌ಗಳಿಂದ ರೂಪುಗೊಂಡ ಗ್ರೇಡಿಯಂಟ್‌ಗಳನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸುತ್ತವೆ (ಸಲೈನ್ಸಿ ನಕ್ಷೆಗಳು ಮತ್ತು ವರ್ಗ ಸಕ್ರಿಯಗೊಳಿಸುವ ನಕ್ಷೆಗಳು ಸೇರಿದಂತೆ).

ಪ್ರತ್ಯೇಕ ಪದರಗಳ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಗಳು ಮತ್ತು ಸಂಪರ್ಕಗಳನ್ನು ದೃಶ್ಯೀಕರಿಸಲು ಹಲವಾರು ಉಪಯುಕ್ತ ಸಾಧನಗಳಿವೆ, ಉದಾ. ಕಾನ್ಎಕ್ಸ್ и ಟೆನ್ಸಾರ್ಬೋರ್ಡ್.

ನರ ಜಾಲಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು: ಡೀಬಗ್ ಮಾಡಲು ಪರಿಶೀಲನಾಪಟ್ಟಿ

ಪ್ಯಾರಾಮೀಟರ್ ಡಯಾಗ್ನೋಸ್ಟಿಕ್ಸ್

ನರಗಳ ಜಾಲಗಳು ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸುವ ಬಹಳಷ್ಟು ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿವೆ, ಇದು ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಸಂಕೀರ್ಣಗೊಳಿಸುತ್ತದೆ. ವಾಸ್ತವವಾಗಿ, ಈ ವಿಭಾಗವು ತಜ್ಞರಿಂದ ಸಕ್ರಿಯ ಸಂಶೋಧನೆಯ ವಿಷಯವಾಗಿದೆ, ಆದ್ದರಿಂದ ಕೆಳಗಿನ ಸಲಹೆಗಳನ್ನು ಸಲಹೆಯಾಗಿ ಮಾತ್ರ ಪರಿಗಣಿಸಬೇಕು, ಅದನ್ನು ನಿರ್ಮಿಸಲು ಆರಂಭಿಕ ಹಂತಗಳು.

ಪ್ಯಾಕೇಜ್ ಗಾತ್ರ (ಬ್ಯಾಚ್ ಗಾತ್ರ) - ನಿಖರವಾದ ದೋಷ ಗ್ರೇಡಿಯಂಟ್ ಅಂದಾಜುಗಳನ್ನು ಪಡೆಯಲು ಬ್ಯಾಚ್ ಗಾತ್ರವು ಸಾಕಷ್ಟು ದೊಡ್ಡದಾಗಿರಬೇಕು, ಆದರೆ ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಕ್ರಮಬದ್ಧಗೊಳಿಸಲು ಸ್ಟೋಕಾಸ್ಟಿಕ್ ಗ್ರೇಡಿಯಂಟ್ ಡಿಸೆಂಟ್ (SGD) ಗೆ ಸಾಕಷ್ಟು ಚಿಕ್ಕದಾಗಿರಬೇಕು. ಸಣ್ಣ ಬ್ಯಾಚ್ ಗಾತ್ರಗಳು ತರಬೇತಿ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಶಬ್ದದ ಕಾರಣದಿಂದಾಗಿ ತ್ವರಿತ ಒಮ್ಮುಖವಾಗುವಿಕೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ ಮತ್ತು ತರುವಾಯ ಆಪ್ಟಿಮೈಸೇಶನ್ ತೊಂದರೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಇದನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ ಇಲ್ಲಿ.

ಕಲಿಕೆಯ ದರ - ತುಂಬಾ ಕಡಿಮೆ ನಿಧಾನವಾಗಿ ಒಮ್ಮುಖವಾಗಲು ಅಥವಾ ಸ್ಥಳೀಯ ಮಿನಿಮಾದಲ್ಲಿ ಸಿಲುಕಿಕೊಳ್ಳುವ ಅಪಾಯಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಹೆಚ್ಚಿನ ಕಲಿಕೆಯ ದರವು ಆಪ್ಟಿಮೈಸೇಶನ್ ವ್ಯತ್ಯಾಸವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ ಏಕೆಂದರೆ ನೀವು ನಷ್ಟದ ಕಾರ್ಯದ ಆಳವಾದ ಆದರೆ ಕಿರಿದಾದ ಭಾಗದ ಮೂಲಕ ಜಿಗಿಯುವ ಅಪಾಯವಿದೆ. ನರ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ತರಬೇತಿ ನೀಡುವಾಗ ಅದನ್ನು ಕಡಿಮೆ ಮಾಡಲು ವೇಗದ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿ. CS231n ನೊಂದಿಗೆ ನವೀಕೃತವಾಗಿದೆ ಈ ಸಮಸ್ಯೆಗೆ ಮೀಸಲಾದ ದೊಡ್ಡ ವಿಭಾಗವಿದೆ.

ಗ್ರೇಡಿಯಂಟ್ ಕ್ಲಿಪಿಂಗ್  - ಗರಿಷ್ಠ ಮೌಲ್ಯ ಅಥವಾ ಕನಿಷ್ಠ ರೂಢಿಯಲ್ಲಿ ಬ್ಯಾಕ್‌ಪ್ರೊಪಗೇಷನ್ ಸಮಯದಲ್ಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಗ್ರೇಡಿಯಂಟ್‌ಗಳನ್ನು ಟ್ರಿಮ್ಮಿಂಗ್ ಮಾಡುವುದು. ಪಾಯಿಂಟ್ ಮೂರರಲ್ಲಿ ನೀವು ಎದುರಿಸಬಹುದಾದ ಯಾವುದೇ ಸ್ಫೋಟಗೊಳ್ಳುವ ಗ್ರೇಡಿಯಂಟ್‌ಗಳನ್ನು ನಿವಾರಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ.

ಬ್ಯಾಚ್ ಸಾಮಾನ್ಯೀಕರಣ - ಪ್ರತಿ ಪದರದ ಇನ್‌ಪುಟ್ ಡೇಟಾವನ್ನು ಸಾಮಾನ್ಯಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಇದು ಆಂತರಿಕ ಕೋವೇರಿಯೇಟ್ ಶಿಫ್ಟ್‌ನ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ನಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ನೀವು ಡ್ರಾಪ್‌ಔಟ್ ಮತ್ತು ಬ್ಯಾಚ್ ನಾರ್ಮಾವನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸುತ್ತಿದ್ದರೆ, ಈ ಲೇಖನವನ್ನು ಪರಿಶೀಲಿಸಿ.

ಸ್ಟೊಕಾಸ್ಟಿಕ್ ಗ್ರೇಡಿಯಂಟ್ ಡಿಸೆಂಟ್ (SGD) - ಆವೇಗ, ಹೊಂದಾಣಿಕೆಯ ಕಲಿಕೆಯ ದರಗಳು ಮತ್ತು ನೆಸ್ಟೆರೊವ್ ವಿಧಾನವನ್ನು ಬಳಸುವ SGD ಯ ಹಲವಾರು ವಿಧಗಳಿವೆ. ಆದಾಗ್ಯೂ, ಕಲಿಕೆಯ ದಕ್ಷತೆ ಮತ್ತು ಸಾಮಾನ್ಯೀಕರಣ ಎರಡರಲ್ಲೂ ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಸ್ಪಷ್ಟ ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಿಲ್ಲ (ವಿವರಗಳು ಇಲ್ಲಿ).

ಕ್ರಮಬದ್ಧಗೊಳಿಸುವಿಕೆ - ಸಾಮಾನ್ಯೀಕರಿಸಬಹುದಾದ ಮಾದರಿಯನ್ನು ನಿರ್ಮಿಸಲು ಇದು ನಿರ್ಣಾಯಕವಾಗಿದೆ, ಏಕೆಂದರೆ ಇದು ಮಾದರಿ ಸಂಕೀರ್ಣತೆ ಅಥವಾ ವಿಪರೀತ ನಿಯತಾಂಕ ಮೌಲ್ಯಗಳಿಗೆ ದಂಡವನ್ನು ಸೇರಿಸುತ್ತದೆ. ಅದರ ಪಕ್ಷಪಾತವನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಿಸದೆಯೇ ಮಾದರಿಯ ವ್ಯತ್ಯಾಸವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಇದು ಒಂದು ಮಾರ್ಗವಾಗಿದೆ. ಇನ್ನಷ್ಟು ವಿವರವಾದ ಮಾಹಿತಿ - ಇಲ್ಲಿ.

ಎಲ್ಲವನ್ನೂ ನೀವೇ ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು, ನೀವು ಕ್ರಮಬದ್ಧಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕು ಮತ್ತು ಡೇಟಾ ನಷ್ಟದ ಗ್ರೇಡಿಯಂಟ್ ಅನ್ನು ನೀವೇ ಪರಿಶೀಲಿಸಬೇಕು.

ಬಿಡಲಾಗುತ್ತಿದೆ ದಟ್ಟಣೆಯನ್ನು ತಡೆಗಟ್ಟಲು ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಸುವ್ಯವಸ್ಥಿತಗೊಳಿಸುವ ಇನ್ನೊಂದು ವಿಧಾನವಾಗಿದೆ. ತರಬೇತಿಯ ಸಮಯದಲ್ಲಿ, ನ್ಯೂರಾನ್‌ನ ಚಟುವಟಿಕೆಯನ್ನು ನಿರ್ದಿಷ್ಟ ಸಂಭವನೀಯತೆ p (ಹೈಪರ್‌ಪ್ಯಾರಾಮೀಟರ್) ನೊಂದಿಗೆ ನಿರ್ವಹಿಸುವ ಮೂಲಕ ಅಥವಾ ವಿರುದ್ಧ ಪ್ರಕರಣದಲ್ಲಿ ಶೂನ್ಯಕ್ಕೆ ಹೊಂದಿಸುವ ಮೂಲಕ ಮಾತ್ರ ಡ್ರಾಪ್‌ಔಟ್ ಅನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ. ಪರಿಣಾಮವಾಗಿ, ಪ್ರತಿ ತರಬೇತಿ ಬ್ಯಾಚ್‌ಗೆ ನೆಟ್‌ವರ್ಕ್ ವಿಭಿನ್ನ ಉಪವಿಭಾಗದ ನಿಯತಾಂಕಗಳನ್ನು ಬಳಸಬೇಕು, ಇದು ಪ್ರಬಲವಾದ ಕೆಲವು ನಿಯತಾಂಕಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ಪ್ರಮುಖ: ನೀವು ಡ್ರಾಪ್ಔಟ್ ಮತ್ತು ಬ್ಯಾಚ್ ಸಾಮಾನ್ಯೀಕರಣ ಎರಡನ್ನೂ ಬಳಸಿದರೆ, ಈ ಕಾರ್ಯಾಚರಣೆಗಳ ಕ್ರಮದ ಬಗ್ಗೆ ಜಾಗರೂಕರಾಗಿರಿ ಅಥವಾ ಅವುಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸಿ. ಇದೆಲ್ಲವೂ ಸಕ್ರಿಯವಾಗಿ ಚರ್ಚೆಯಾಗುತ್ತಿದೆ ಮತ್ತು ಪೂರಕವಾಗಿದೆ. ಈ ವಿಷಯದ ಕುರಿತು ಎರಡು ಪ್ರಮುಖ ಚರ್ಚೆಗಳು ಇಲ್ಲಿವೆ ಸ್ಟಾಕ್ಓವರ್ಫ್ಲೋ ಮೇಲೆ и ಆರ್ಕ್ಸಿವ್.

ಕೆಲಸದ ನಿಯಂತ್ರಣ

ಇದು ಕೆಲಸದ ಹರಿವುಗಳು ಮತ್ತು ಪ್ರಯೋಗಗಳನ್ನು ದಾಖಲಿಸುವ ಬಗ್ಗೆ. ನೀವು ಏನನ್ನೂ ದಾಖಲಿಸದಿದ್ದರೆ, ನೀವು ಮರೆತುಬಿಡಬಹುದು, ಉದಾಹರಣೆಗೆ, ಯಾವ ಕಲಿಕೆಯ ದರ ಅಥವಾ ವರ್ಗ ತೂಕವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ನಿಯಂತ್ರಣಕ್ಕೆ ಧನ್ಯವಾದಗಳು, ನೀವು ಹಿಂದಿನ ಪ್ರಯೋಗಗಳನ್ನು ಸುಲಭವಾಗಿ ವೀಕ್ಷಿಸಬಹುದು ಮತ್ತು ಪುನರುತ್ಪಾದಿಸಬಹುದು. ನಕಲಿ ಪ್ರಯೋಗಗಳ ಸಂಖ್ಯೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಆದಾಗ್ಯೂ, ದೊಡ್ಡ ಪ್ರಮಾಣದ ಕೆಲಸದ ಸಂದರ್ಭದಲ್ಲಿ ಹಸ್ತಚಾಲಿತ ದಸ್ತಾವೇಜನ್ನು ಕಷ್ಟಕರವಾದ ಕೆಲಸವಾಗಬಹುದು. ನಿಮ್ಮ ಮಾದರಿ (ಹೈಪರ್‌ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು, ಮಾಡೆಲ್ ಕಾರ್ಯಕ್ಷಮತೆ ಮೆಟ್ರಿಕ್‌ಗಳು ಮತ್ತು ಪರಿಸರ ಮಾಹಿತಿ) ಕುರಿತು ಪ್ರಮುಖ ಮಾಹಿತಿ ಸೇರಿದಂತೆ ಡೇಟಾಸೆಟ್‌ಗಳು, ಕೋಡ್ ಬದಲಾವಣೆಗಳು, ಪ್ರಾಯೋಗಿಕ ಇತಿಹಾಸ ಮತ್ತು ಉತ್ಪಾದನಾ ಮಾದರಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಗ್ ಮಾಡಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಲು Comet.ml ನಂತಹ ಉಪಕರಣಗಳು ಇಲ್ಲಿ ಬರುತ್ತವೆ.

ಒಂದು ನರಮಂಡಲವು ಸಣ್ಣ ಬದಲಾವಣೆಗಳಿಗೆ ಬಹಳ ಸೂಕ್ಷ್ಮವಾಗಿರುತ್ತದೆ ಮತ್ತು ಇದು ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕುಸಿತಕ್ಕೆ ಕಾರಣವಾಗುತ್ತದೆ. ನಿಮ್ಮ ಕೆಲಸವನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು ಮತ್ತು ದಾಖಲಿಸುವುದು ನಿಮ್ಮ ಪರಿಸರ ಮತ್ತು ಮಾಡೆಲಿಂಗ್ ಅನ್ನು ಪ್ರಮಾಣೀಕರಿಸಲು ನೀವು ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಮೊದಲ ಹಂತವಾಗಿದೆ.

ನರ ಜಾಲಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು: ಡೀಬಗ್ ಮಾಡಲು ಪರಿಶೀಲನಾಪಟ್ಟಿ

ನಿಮ್ಮ ನ್ಯೂರಲ್ ನೆಟ್‌ವರ್ಕ್ ಡೀಬಗ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಲು ಈ ಪೋಸ್ಟ್ ಒಂದು ಆರಂಭಿಕ ಹಂತವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

ಸ್ಕಿಲ್‌ಬಾಕ್ಸ್ ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ:

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ