에포크
문제집 한 권을 처음부터 끝까지 한 바퀴 다 풀어보는 1회독 과정이에요.
정의 인공지능 모델이 준비된 전체 학습용 데이터를 처음부터 끝까지 한 번 모두 훑어보며 공부하는 주기를 뜻해요. 인공지능은 준비된 데이터셋 전체를 한 차례 학습할 때마다 오차를 줄여가며 실력을 조금씩 높여요.
문제집 1회독과 인공지능의 공부법
시험공부를 할 때 두꺼운 문제집 한 권을 첫 장부터 마지막 장까지 빠짐없이 다 풀어보는 과정을 흔히 1회독이라고 불러요. 인공지능이 데이터를 공부하는 과정에서도 똑같은 개념이 쓰여요.
인공지능에게 사진 1만 장을 주고 고양이를 구별하는 법을 가르친다고 해볼게요. 인공지능이 1만 장의 사진을 전부 한 번씩 살펴보고 정답과 비교하며 실수를 점검했다면, 이것이 바로 1에포크의 학습을 마친 상태예요. 만약 10에포크를 돌렸다면 그 1만 장짜리 사진 묶음을 처음부터 끝까지 총 10번 반복해서 복습한 셈이에요.
컴퓨터는 사람과 달라서 복잡한 사진이나 글자의 규칙을 단 한 번만 보고는 완벽히 이해하지 못해요. 그래서 전체 데이터를 여러 바퀴 돌려보며 신경망의 연결 강도를 미세하게 다듬는 과정이 꼭 필요해요.
조금 더 정확히 말하면: 배치와 스텝의 관계
조금 더 정확히 말하면, 인공지능은 1만 장의 방대한 데이터를 한꺼번에 뇌에 통째로 털어 넣지 못해요. 컴퓨터 메모리 용량에는 한계가 있고, 너무 많은 정보를 한 번에 삼키면 계산 효율도 떨어지기 때문이에요.
그래서 개발자들은 전체 데이터를 적당한 묶음으로 쪼개서 차례대로 컴퓨터에게 건네줘요. 이때 한 번에 넘겨주는 데이터 묶음의 크기를 배치 크기(Batch Size)라고 불러요. 만약 1만 장의 데이터를 100장씩 묶어서 공부한다면, 100장 묶음을 한 번 공부하고 실수를 고치는 과정을 한 번의 '스텝(Step)' 또는 '반복(Iteration)'이라고 해요.
이렇게 100장짜리 묶음을 총 100번 연속으로 공부해서 마침내 준비된 1만 장을 모두 보았을 때 비로소 하나의 에포크가 완성돼요. 문제집 한 권을 여러 단원으로 나누어 하루에 몇 장씩 풀어서 끝내는 것과 같은 원리예요.
에포크를 무조건 늘리면 왜 위험할까요?
문제집을 수백 번 반복해서 풀면 무조건 실력이 오를 것 같지만 인공지능의 세계에서는 그렇지 않아요. 에포크를 너무 적게 주면 핵심 규칙조차 익히지 못하는 과소적합(학습 부족)이 일어나요.
반대로 에포크를 너무 많이 주면 인공지능이 문제의 원리를 이해하는 대신 문제집 자체를 통째로 암기해 버려요. 이를 전문 용어로 '과대적합(오버피팅)'이라고 불러요. 예를 들어 고양이 사진 속 배경의 얼룩이나 조명 색깔까지 정답의 조건으로 외워버려서, 정작 새로운 고양이 사진을 보여주면 전혀 알아보지 못하게 돼요.
그래서 개발자들은 학습을 진행하면서 새로운 모의고사용 데이터를 함께 풀어보게 해요. 에포크가 진행되다가 모의고사 점수가 더 이상 오르지 않고 오히려 떨어지기 시작하면, 그 즉시 학습을 멈추는 조기 종료(Early Stopping) 기법을 활용해 최적의 학습량을 찾아요.
🤔 흔한 오해
에포크 수가 높을수록 인공지능의 성능은 무조건 좋아진다.
에포크가 너무 많으면 데이터의 정답뿐만 아니라 사소한 노이즈까지 외워버리는 과대적합(오버피팅)이 발생해, 새로운 실제 데이터를 만났을 때 성능이 오히려 크게 떨어져요.
🧺 일상에서 만나요
에포크는 인공지능이 준비된 전체 데이터를 처음부터 끝까지 한 번 모두 훑어보며 공부하는 1회독 주기를 뜻해요.