1. 개요[편집]
합성곱 신경망(Convolutional Neural Network, CNN)은 완전연결 대신 국소 수용영역과 가중치 공유를 갖는 합성곱 연산을 층으로 쌓아 만든 신경망으로, 격자 위에 배열된 데이터(이미지·음성·유동장)를 다루는 표준 구조다. 신경망 일반과 역전파·최적화의 기초는 심층 학습 문서에 있으니, 여기서는 합성곱 고유의 구조와 그것이 공학 시뮬레이션에서 갖는 의미만 다룬다.
CNN이 특별한 이유는 사실 뭔가를 더 해서가 아니라 덜 해서다. 입력을 완전연결로 받으면 층 하나에 파라미터가 수십억 개인데, 커널은 채널당 9개다. 이 극단적인 제약이 정규화 역할을 하면서 동시에 평행이동 등변성이라는 물리적으로 타당한 구조를 강제한다. CAE 바닥 입장에서는 이 대목이 결정적이다 — 정렬 격자 위의 유동장은 채널이 인 이미지와 자료 구조가 정확히 같기 때문이다.
2. 합성곱층[편집]
2차원 합성곱층의 출력은 다음과 같다.
여기서 는 커널 크기, 는 스트라이드, 는 패딩. 팽창(dilation) 까지 넣으면 출력 크기는
이다. 이 공식을 손으로 못 세면 인코더-디코더 짜다가 텐서 크기가 1픽셀씩 안 맞아 밤을 새우게 된다.1 파라미터 수는 , 연산량은 대략 MAC. 파라미터는 해상도와 무관하지만 연산량은 해상도에 비례한다는 비대칭이 고해상도 유동장 학습의 비용 구조를 지배한다.
세 가지 귀납 편향이 여기 박혀 있다.
- 국소성: 출력 한 점은 입력의 이웃만 본다. 유한차분 스텐실과 형태가 같다.
- 가중치 공유: 같은 커널이 전 영역에 적용된다. 물리 법칙이 위치에 무관하다는 가정의 신경망판이다.
- 계층성: 층을 쌓을수록 수용영역이 커져 국소 → 대역 구조가 순서대로 잡힌다.
여기서 나오는 성질이 평행이동 등변성: 입력을 옮기면 출력도 그만큼 옮겨진다. 단 엄밀하게는 조건부다. 스트라이드가 1보다 크면 스트라이드의 배수가 아닌 이동에 대해 등변성이 깨지고, 경계 패딩도 대칭을 망친다. 회전 등변성은 아예 없다. 같은 유동장을 45도 돌려 넣으면 CNN에게는 새로운 문제다.
3. 풀링과 수용영역[편집]
풀링(최댓값·평균)은 해상도를 줄여 연산량을 낮추고 작은 이동에 대한 근사 불변성을 준다. 요즘은 스트라이드 합성곱으로 대체하는 경우가 많다. 중요한 건 수용영역이 자라는 속도다. 층을 개 쌓으면 이론 수용영역은 로 선형 증가하지만, 다운샘플링을 끼우면 배수로, 팽창 합성곱을 쓰면 지수적으로 커진다. 다만 실효 수용영역은 이론값보다 훨씬 작고 중앙이 가우스처럼 무거운 분포라, “층을 충분히 쌓았으니 전역 정보를 본다”는 가정은 대개 틀린다.2 유동 문제에서 압력은 전역 타원형 방정식의 해라 이 한계가 곧바로 성능 문제로 나타난다.
4. 대표 구조의 계보[편집]
- LeNet-5(1998): 우편번호 인식. 합성곱-풀링-완전연결이라는 골격이 여기서 굳었다.
- AlexNet(2012): ReLU, 드롭아웃, GPU 두 장. ImageNet 오차를 통째로 갈아엎으며 딥러닝 붐을 열었다.
- VGG(2014): 만 깊게 쌓는다. 하나보다 둘이 수용영역은 같고 파라미터는 적으며 비선형은 하나 더 많다는 논리.
- ResNet(2015): 잔차 연결 . 항등 경로가 기울기를 손실 없이 전달해 100층 이상 학습이 가능해졌다. 깊이 문제의 본질이 표현력이 아니라 최적화였음을 보인 것이 진짜 기여다.
- U-Net(2015): 대칭 인코더-디코더 + 스킵 연결. 원래 생물의학 영상 분할용이었는데, 격자 → 격자 회귀라는 구조가 물리장 예측과 완벽히 맞아떨어져 CAE 대리 모델의 사실상 기본형이 됐다.
배치 정규화는 미니배치 통계로 활성값을 정규화하고 학습 가능한 스케일·시프트를 다시 얹는다. 손실 지형을 매끄럽게 해 큰 학습률을 쓸 수 있게 하지만, 배치 통계에 의존하므로 배치가 작은 3D 유동장 학습에서는 그룹/레이어 정규화로 갈아타는 게 보통이다.
5. 역전파와 구현[편집]
합성곱의 역전파는 놀랄 만큼 대칭적이다. 입력에 대한 기울기는 커널을 180도 뒤집어 출력 기울기와 합성곱한 것(전치 합성곱)이고, 가중치에 대한 기울기는 입력과 출력 기울기의 상관이다. 즉 순전파·역전파·가중치 갱신이 전부 합성곱 하나로 처리된다. 자동 미분 프레임워크는 이걸 그대로 커널로 갖고 있다.
전치 합성곱은 업샘플링 층으로도 쓰이는데, 커널 크기가 스트라이드의 배수가 아니면 겹침이 불균일해져 체커보드 무늬가 생긴다. 유동장 출력에 격자 무늬 잔상이 보이면 십중팔구 이것이며, 보간 후 일반 합성곱으로 바꾸면 사라진다.
구현은 셋 중 하나다. im2col + GEMM(메모리를 쓰고 BLAS에 떠넘긴다), 고속 푸리에 변환 합성곱(큰 커널에서 유리), Winograd(작은 커널·스트라이드 1에서 곱셈 수를 2배 이상 줄이지만 수치 안정성을 대가로 지불). 채널 방향과 공간 방향을 분리하는 depthwise separable 합성곱은 연산량을 대략 로 줄여 경량 모델의 기본이 됐다.
6. 공학 시뮬레이션에서의 활용[편집]
여기가 심위키가 관심 있는 부분이다. 정렬 격자에 저장된 물리장은 자료 구조상 이미지다. 채널을 로, 픽셀을 셀로 읽으면 영상 처리 도구가 그대로 이식된다.
- 유동장·응력장 대리 모델: 형상 마스크나 부호거리함수(SDF), 경계조건 맵을 입력으로 넣고 정상상태 장을 출력하는 U-Net. 한 번 학습해 두면 추론이 밀리초라 최적설계 루프나 실시간 형상 탐색에 쓸 수 있다. 고전적 대리 모델(크리깅·RBF)이 스칼라 응답 몇 개를 예측했다면, CNN은 장 전체를 예측한다는 점이 다르다.
- 난류 초해상도: 필터링된 저해상도 장에서 고해상도 장을 복원. 연속방정식 잔차를 손실에 얹어 물리 제약을 걸면 발산이 크게 줄어든다.
- 하위격자 모델 학습: 대와류 모사의 하위격자 응력을 해상 격자 필드에서 회귀. 국소 스텐실 구조가 기존 모델의 형태와 닮아 있어 CNN이 잘 맞는 몇 안 되는 경우다.
- 솔버 가속: 반복법의 초기 추정값 예측, 다중격자법 완화 파라미터 선택, 전처리기 학습. 최종 해는 여전히 기존 솔버가 수렴시키므로 정확도 보장이 유지된다는 것이 실무적으로 큰 장점이다.
- 축소차수모델의 비선형 확장: 주성분 분석/POD 대신 합성곱 오토인코더로 잠재 공간을 만들고 그 위에서 시간 전진.
물리 정보 신경망과의 차이는 자주 혼동된다. PINN은 좌표 를 입력받는 완전연결망이고 격자가 없으며, PDE 잔차를 손실로 써서 문제 하나마다 새로 학습한다. CNN 대리 모델은 격자 데이터로 지도학습하며 여러 케이스에 일반화하고 추론이 극히 빠르지만, 대신 훈련 데이터를 만들 솔버가 먼저 있어야 한다. 둘을 섞어 CNN 출력에 PDE 잔차 손실을 얹는 하이브리드가 최근의 절충안이다.
7. 한계 — 왜 솔버를 못 대체하는가[편집]
- 격자 정형성 가정: CNN은 균일 직교 격자를 전제한다. 비정형 메시, 곡선 좌표계, 국소 세분화(적응 격자 세분화)가 들어오면 전제가 깨진다. 그래서 비정형 격자에는 그래프 신경망 계열이 쓰이고, 해상도 독립성을 노리면 연산자 학습 계열로 간다.
- 보존 법칙 미보장: 출력 장이 질량·운동량을 보존한다는 보장이 없다. 사후 투영이나 손실 항으로 억지로 밀어 넣어야 한다.
- 외삽 붕괴: 훈련 분포 밖 레이놀즈수·형상에서는 그럴싸하지만 틀린 장을 내놓는다. 잔차를 안 보면 틀렸는지도 모른다는 점이 솔버보다 위험하다.
- 자기회귀 누적 오차: 시간 전진에 반복 적용하면 오차가 누적돼 장기 롤아웃이 불안정해진다.
- 회전 등변성 부재: 데이터 증강이나 등변 CNN으로 보완해야 한다.
결론적으로 CNN은 솔버를 대체하는 물건이 아니라 솔버 위에 얹는 가속·보간 계층으로 보는 편이 정직하다. 검증 및 확인의 관점에서 보면, 학습 모델의 예측에는 잔차라는 자체 오차 지표가 없다는 점이 여전히 가장 큰 미해결 과제다.34
8. 관련 문서[편집]
- 심층 학습 · 확률적 경사하강법 · 자동 미분
- 물리 정보 신경망 · 대리 모델 · 축소차수모델
- 초해상도 · 대와류 모사 · 난류 모델링
- 그래프 신경망 · 연산자 학습 · 트랜스포머
- 고속 푸리에 변환 · GPU 컴퓨팅
- 주성분 분석 · 검증 및 확인
9. Footnotes[편집]
-
딥러닝 프레임워크가
conv라 부르는 연산은 사실 커널을 뒤집지 않는 상호상관(cross-correlation)이다. 가중치를 어차피 학습으로 정하니 뒤집든 말든 결과가 같아서 아무도 신경 쓰지 않는다. 신호처리 전공자만 매번 조용히 킹받는다. ↩ -
Luo 등(2016)이 보인 것. 이론 수용영역이 입력 전체를 덮어도 실효 수용영역은 그 일부에 불과하고, 층 수의 제곱근 정도로만 자란다. ↩
-
CFD 엔지니어가 CNN 대리 모델을 처음 볼 때 하는 질문 순서는 대체로 정해져 있다. “잔차는요?” → “없습니다” → “그럼 수렴은요?” → “학습이 끝났습니다” → (침묵). 이 침묵을 메우는 게 지금 이 분야의 연구 주제 절반이다. ↩
-
그럼에도 형상 탐색 초기 단계에서 후보 1000개를 밀리초 단위로 걸러내고 살아남은 10개만 진짜 솔버에 넣는 워크플로는 이미 산업에서 돌아간다. 정확도가 아니라 의사결정 비용을 줄이는 도구로 보면 계산이 맞는다. ↩