인곡지λŠ₯ 🌌/λ”₯λŸ¬λ‹

λ°°μΉ˜μ‚¬μ΄μ¦ˆ(Batch size)와 에폭(Epoch)

23.8 2023. 4. 13. 15:31
λ°˜μ‘ν˜•

λ°°μΉ˜μ‚¬μ΄μ¦ˆ(Batch size)

λ°°μΉ˜μ‚¬μ΄μ¦ˆλž€, ν•œ λ²ˆμ— λͺ¨λΈμ΄ ν•™μŠ΅ν•˜λŠ” 데이터 μƒ˜ν”Œμ˜ 개수λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. ν•™μŠ΅ 데이터셋이 맀우 클 경우, 전체 데이터셋을 ν•œ λ²ˆμ— λͺ¨λΈμ— λ„£μ–΄ ν•™μŠ΅ν•˜λŠ” 것은 λ©”λͺ¨λ¦¬μ™€ κ²Œμ‚°μ μΈ μΈ‘λ©΄μ—μ„œ λΆˆκ°€λŠ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 경우, 데이터셋을 μž‘μ€ λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄ λͺ¨λΈμ— μž…λ ₯ν•˜κ²Œ λ˜λŠ”λ°, μ΄λ•Œ λ‹¨μœ„λ₯Ό 배치라고 ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, 1000개의 ν•™μŠ΅ 데이터가 μžˆλ‹€κ³  ν•©μ‹œλ‹€.
배치 μ‚¬μ΄μ¦ˆκ°€ 100이라면 전체 데이터셋을 10개의 배치둜 λ‚˜λˆ„μ–΄ λͺ¨λΈμ— μž…λ ₯ν•˜κ²Œ λ©λ‹ˆλ‹€.
각 λ°°μΉ˜λŠ” 100개의 데이터 μƒ˜ν”Œμ„ ν¬ν•¨ν•˜λ―€λ‘œ, λͺ¨λΈμ€ 100개의 데이터 μƒ˜ν”Œμ„ μ²˜λ¦¬ν•œ 후에 κ°€μ€‘μΉ˜λ₯Ό μ—…λ°μ΄νŠΈ ν•©λ‹ˆλ‹€.

  • 인곡지λŠ₯ λͺ¨λΈμ€ 각 λ°°μΉ˜μ‚¬μ΄μ¦ˆλ§ˆλ‹€ κ°€μ€‘μΉ˜μ™€ 편ν–₯을 μ—…λ°μ΄νŠΈ ν•©λ‹ˆλ‹€.

에폭(Epoch)

에폭(Epoch)λž€, 전체 ν•™μŠ΅ 데이터셋을 λͺ¨λΈμ΄ ν•œ 번 ν•™μŠ΅ν•˜λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. λ”°λΌμ„œ 1 에폭은 전체 데이터셋을 ν•œ 번 μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅ν•œ κ²ƒμž…λ‹ˆλ‹€.

예λ₯Όλ“€μ–΄, 1000개의 ν•™μŠ΅ 데이터가 있고 배치 μ‚¬μ΄μ¦ˆκ°€ 100이라면, 1에폭은 10개의 배치λ₯Ό μ²˜λ¦¬ν•œ 후에 μ™„λ£Œλ©λ‹ˆλ‹€. λ§Œμ•½ 10 에폭을 μ‹€ν–‰ν–ˆλ‹€λ©΄, 전체 데이터셋을 10번 λ°˜λ³΅ν•΄μ„œ ν•™μŠ΅ν•œ κ²ƒμž…λ‹ˆλ‹€!

κ°€μ€‘μΉ˜μ˜ μ—…λ°μ΄νŠΈ

인곡지λŠ₯ λͺ¨λΈμ€ 각 λ°°μΉ˜μ‚¬μ΄μ¦ˆμ™€ μ—ν­λ§ˆλ‹€ κ°€μ€‘μΉ˜λ₯Ό μ—…λ°μ΄νŠΈ ν•©λ‹ˆλ‹€.
초기 ν•™μŠ΅ μ‹œμž‘μ‹œ, κ°€μ€‘μΉ˜μ™€ 편ν–₯은 μ΄ˆκΈ°κ°’μœΌλ‘œ μ„€μ •λ˜μ–΄ 있고, λͺ¨λΈμ΄ ν•™μŠ΅μ„ μ‹œμž‘ν•¨μ— 따라 인곡지λŠ₯ λͺ¨λΈμ€ 각 λ°°μΉ˜λ§ˆλ‹€ μž…λ ₯ 데이터λ₯Ό λ°›μ•„ 좜λ ₯을 κ³„μ‚°ν•˜κ³ , 이 좜λ ₯κ³Ό μ •λ‹΅ 데이터 κ°„μ˜ 차이λ₯Ό κ³„μ‚°ν•˜μ—¬ 손싀(loss)λ₯Ό κ΅¬ν•©λ‹ˆλ‹€. 손싀은 λͺ¨λΈμ˜ μ„±λŠ₯을 λ‚˜νƒ€λ‚΄λŠ” μ§€ν‘œμ΄λ©°, 이 손싀을 μ΅œμ†Œν™”ν•˜λŠ” λ°©ν–₯으둜 κ°€μ€‘μΉ˜μ™€ 편ν–₯을 μ—…λ°μ΄νŠΈ ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ, 각 λ°°μΉ˜λ§ˆλ‹€ λͺ¨λΈμ€ 손싀을 κ³„μ‚°ν•˜κ³ , 이 손싀을 μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ κ°€μ€‘μΉ˜μ™€ 편ν–₯을 μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€. 이 과정을 λ°˜λ³΅ν•˜λ©΄μ„œ λͺ¨λΈμ€ 졜적의 κ°€μ€‘μΉ˜μ™€ 편ν–₯을 μ°Ύμ•„λ‚΄κ³ , 높은 정확도λ₯Ό 가진 예츑 κ²°κ³Όλ₯Ό 좜λ ₯ν•  수 있게 λ©λ‹ˆλ‹€.

μΆ”κ°€λ‘œ λͺ¨λΈμ€ 전체 ν•™μŠ΅ 데이터셋을 ν•œ 번 μ²˜λ¦¬ν•œ ν›„(μ—ν­λ§ˆλ‹€) λͺ¨λ“  배치의 손싀을 ν‰κ· ν•˜μ—¬ 전체 손싀을 κ²Œμ‚°ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ κ³„μ‚°λœ 전체 손싀을 μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ κ°€μ€‘μΉ˜λ₯Ό μ—…λ°μ΄νŠΈν•©λ‹ˆλ‹€.

μ—ν­λ§ˆλ‹€ κ°€μ€‘μΉ˜λ₯Ό μ—…λ°μ΄νŠΈν•˜λŠ” μ΄μœ λŠ” λͺ¨λΈμ΄ ν•™μŠ΅ 데이터셋을 더 많이 보고 κ°€μ€‘μΉ˜λ₯Ό 더 많이 μ—…λ°μ΄νŠΈν•  수 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. 일반적으둜 에폭을 늘릴수둝 λͺ¨λΈμ˜ μ„±λŠ₯이 ν–₯μƒλ˜μ§€λ§Œ, λ„ˆλ¬΄ λ§Žμ€ 에폭을 μ„€μ •ν•˜λ©΄ 과적합(Overfitting)이 될 κ°€λŠ₯성이 μžˆμœΌλ―€λ‘œ μ μ ˆν•œ 에폭 값을 μ„€μ •ν•˜λŠ” μ€‘μš”ν•©λ‹ˆλ‹€.

μš”μ•½

λ°°μΉ˜μ‚¬μ΄μ¦ˆ : 전체 데이터셋을 μͺΌκ° , λͺ¨λΈμ΄ ν•œ λ²ˆμ— μ²˜λ¦¬ν•˜λŠ” 데이터 μƒ˜ν”Œμ˜ 개수.
에폭 : 전체 ν•™μŠ΅ 데이터셋을 λͺ¨λΈμ΄ ν•œ 번 ν•™μŠ΅ν•œ 것.
λ°°μΉ˜μ‚¬μ΄μ¦ˆμ™€ μ—ν­λ§ˆλ‹€ λͺ¨λΈμ˜ κ°€μ€‘μΉ˜μ™€ 편ν–₯이 μ—…λ°μ΄νŠΈ λœλ‹€.

728x90
λ°˜μ‘ν˜•