인공지능재료공학 · 실습 06 · AI 기법: 민감도 분석

밴드갭이 0.2 eV 움직인다

분말 시료의 확산반사 스펙트럼에서 광학 밴드갭을 구한다. 측정한 것은 파장별 반사율이고, 밴드갭까지는 변환 두 번과 외삽 한 번을 거친다.

그 마지막 단계 — 직선을 어디서 어디까지 잡을 것인가 — 를 데이터가 정해주지 않는다. 절차만 바꿔가며 다섯 번 돌린다. 답이 몇 백 meV 움직인다. 그 폭이 오늘의 답이다.

앞 실습과 다른 점

실습 05에서는 요청하는 시점에 무엇을 고정할지를 배웠다. 이번 실습은 끝까지 고정할 수 없는 것이 남았을 때 그걸 어떻게 보고하는지를 배운다.

전체 흐름

관문의 역할이 이번 실습에서 바뀐다

관문표준 3종
한 번단일 값
방법구간을 어떻게?
민감도절차 5개
선별관문이 고른다
붕괴같은 ZnO
제출3줄 보고서
관문이 하는 일
실습 03 ~ 05내 코드가 맞는지 확인한다 (통과 / 실패)
실습 06그럴듯한 절차 여러 개 중 어느 것을 믿을지 정해준다

오늘 다루는 사슬

반사율에서 밴드갭까지
R(λ)  →  Kubelka-Munk  →  Tauc 좌표  →  직선 외삽  →  Eg
                                        ↑
                                   여기에 선택이 있다

data/데이터설명.md를 먼저 읽는다. 특히 Kubelka-Munk가 성립하려면 세 가지가 필요하다 표를 본다 — 세 가지 다 눈으로 판정된다.


오늘 할 일

01 · 관문

자부터 검사한다

답이 알려진 시료가 셋 있다. 하나는 파장 축용, 둘은 밴드갭용이다.

패널에 입력
data/standard/holmium_filter.csv 의 흡수선 위치를 찾아줘.
data/standard/인증값.md 의 인증값과 대조해서 표로 보여줘.

다섯 개가 다 ±1 nm 안에 들어와야 한다. 파장 축이 틀어져 있으면 그 뒤는 전부 무의미하다.

패널에 입력
data/standard/ 의 TiO2_anatase.csv 와 CdS_powder.csv 로
Kubelka-Munk → Tauc → 직선 외삽 파이프라인을 만들어줘.
인증값은 data/standard/인증값.md 에 있다.

results/표준검증.md 에 표를 남겨줘.
관문 · 두 시료가 다 ±0.10 eV

TiO₂ 아나타제는 간접, CdS는 직접이다. 어떤 절차는 한쪽에서만 맞는다. 한쪽만 맞으면 통과가 아니다.

02 · 본 시료

일단 한 번 시켜본다

패널에 입력
data/spectra/ 의 시료들에서 광학 밴드갭을 구해줘.
data/시료목록.csv 와 데이터설명.md 를 먼저 읽어줘.

결과는 results/ 에 저장하고,
AGENTS.md 에 적힌 대로 results/계산근거.md 도 남겨줘.

숫자가 나왔을 것이다. R²도 좋게 나왔을 것이다. 여기서 멈추지 않는다.

03 · 방법

직선 구간을 어떻게 골랐나

결과를 따지기 전에 방법부터 듣는다. 이번 실습은 질문이 하나로 좁혀진다.

패널에 입력
방금 그 결과를 어떻게 냈는지 단계별로 알려줘. 특히 —

- Tauc 그래프에서 직선을 맞출 구간을 어떻게 정했어?
  시작점과 끝점이 몇 eV 야? 그 점을 왜 골랐어?
- n 을 2 로 했어, 1/2 로 했어? 그건 왜 그렇게 정했어?
- 그 구간에 점이 몇 개 들어갔어?

각 단계마다 왜 그렇게 했는지도 한 줄씩 적어줘.
확인할 것
구간의 시작·끝을 eV로 말했는가“선형 영역을 골랐다”는 답이 아니다
n을 어디서 가져왔는가데이터에서 나오는 값이 아니다
점이 몇 개인가8개짜리 직선과 80개짜리 직선은 다르다
되물을 것

에이전트가 “자동으로 선형 구간을 찾았다”고 하면 되물어라. 무엇을 기준으로 찾았는지를 말할 수 없으면 그건 절차가 아니다.

04 · 민감도 · 오늘의 핵심

절차를 바꿔가며 전부 돌린다

직선 구간을 고르는 방법은 여러 가지다. 다섯 개를 전부 돌린다.

통째로 복사
직선 구간을 고르는 방법을 아래 다섯 가지로 바꿔가며 전부 돌려줘.
표준시료 2개와 본 시료 전부에 대해 각각.

A. 세로축 최대값의 10 % ~ 40 % 인 구간
B. 세로축 최대값의 20 % ~ 50 % 인 구간
C. 흡수 개시점부터 위로 0.30 eV
D. 흡수 개시점보다 0.20 eV 위에서부터 위로 0.60 eV
E. 폭 0.35 eV 인 창을 옮겨가며 R² 가 가장 큰 자리

(흡수 개시점 = 세로축이 최대값의 5 % 를 넘어선 뒤
 다시는 그 아래로 안 내려가는 지점)

results/민감도.md 에 표를 남겨줘.
| 시료 | 절차 | 구간 시작(eV) | 구간 끝(eV) | 점 수 | Eg | R² |

그리고 시료마다 Eg 의 최소~최대와 그 폭을 적어줘.
바뀐 것은 구간 하나뿐이다

같은 데이터, 같은 코드, 같은 물질이다. 한 시료 안에서 답이 몇 백 meV 움직였을 것이다.

논문에는 숫자가 하나 적혀 있다

그 숫자는 이 다섯 개 중 하나다. 어느 것인지는 대개 안 적혀 있다.

05 · 선별

관문이 절차를 고른다

패널에 입력
표준시료 2개에 대한 다섯 절차의 결과를 인증값과 대조해줘.
| 절차 | TiO2 결과 | 차이 | CdS 결과 | 차이 | 둘 다 ±0.10 인가 |

둘 다 통과한 절차만 골라서, 그 절차들로 본 시료의 Eg 범위를 다시 내줘.
관문 적용 전 범위와 후 범위를 나란히 보여줘.

몇 개는 탈락한다. 그리고 그중 하나는 한쪽 표준에서는 잘 맞았다. 직접천이 시료와 간접천이 시료를 둘 다 준 이유가 그것이다.

표준시료가 하는 일

표준시료는 「내 답이 맞았는지」만 확인해 주는 게 아니다. 여러 그럴듯한 절차 중 어느 것을 믿을지를 정해준다. 표준이 없으면 다섯 개 다 그럴듯하고, 고를 근거가 없다.

06 · 남는 것

관문으로도 안 줄어드는 것

n을 바꿔서 다시 돌린다. 하나만 바꿨는데 답이 크게 움직인다.

패널에 입력
본 시료 전부에 대해 n=2 (직접) 와 n=1/2 (간접) 를 각각 가정해서
Eg 와 R² 를 나란히 표로 보여줘.

R²를 보면 한쪽이 더 높을 것이다. 그런데 —

패널에 입력
각 시료에서 두 가정의 R² 차이가 얼마인지 계산해서, 차이가 작은 순으로 정렬해줘.

어떤 시료에서는 차이가 0.01밖에 안 난다. 잡음이 조금만 더 있었으면 뒤집혔다.

맞았다고 해서 그걸로 정한 게 아니다

ZnO와 CdS가 직접이고 TiO₂가 간접인 것은 문헌에서 가져오는 값이다. 이 파일들 안에 없다. R²가 같은 답을 내면 그건 확인이지 근거가 아니다.

보고서에 직접천이를 가정했다. 근거는 ___를 반드시 쓴다.

07 · 붕괴

절차들이 서로 안 맞는 시료

시료목록.csvappearance 열을 본다. 다 같지 않다.

패널에 입력
S1_ZnO_powder 와 S3_ZnO_pellet 의 원시 반사율을 한 그래프에 겹쳐 그려줘.
그리고 두 시료에 대해 관문을 통과한 절차들의 Eg 를 나란히 표로 보여줘.

두 시료는 같은 물질이다. 파일 이름을 보면 알 수 있다.

볼 것무엇이 보이나
원시 반사율한쪽은 아무리 흡수해도 어느 값 아래로 안 내려간다
절차 간 편차한 시료에서만 절차들이 서로 크게 어긋난다
이게 경보다

정답을 몰라도 감지된다. 관문을 통과한 절차들이 어떤 시료에서만 서로 안 맞으면, 그 시료에서 방법의 전제가 깨진 것이다.

나머지도 같은 방식으로 본다
패널에 입력
S4_CuO_powder 와 film_ZnO_transmission 도 원시 데이터를 그려줘.
각각 Kubelka-Munk 를 쓸 수 있는 시료인지 판단하고, 근거를 적어줘.

데이터설명.md「Kubelka-Munk가 성립하려면 세 가지가 필요하다」 표와 대조한다. 셋 다 눈으로 판정된다 — 계산 결과가 아니라 겉보기와 원시 그래프로 걸러낸다.

숫자는 나온다. 뜻이 없을 뿐이다

여기서 나온 숫자를 「그 시료의 밴드갭」이라고 보고하면 안 된다.

08 · 함정

기기가 만드는 것, 분석이 만드는 것

기기가 만드는 것
패널에 입력
모든 시료의 330~350 nm 구간을 확대해서 그려줘.

작은 계단이 있다. 340 nm의 램프 전환이다. 헤더에 적혀 있다. 흡수단이 아니다. 340 nm = 3.65 eV — 하필 이 근처에 갭이 있는 물질이 흔하다.

분석이 만드는 것
패널에 입력
절차 E 가 각 시료에서 고른 구간의 시작·끝 eV 와 R² 를 표로 보여줘.

R²가 0.999를 넘는데 밴드갭이 음수인 경우가 있다. 밴드갭 아래의 평평한 부분을 직선으로 잡았기 때문이다.

R²는 구간이 맞는지 모른다

R²는 「이 구간이 직선이냐」만 답한다. 「맞는 구간이냐」는 답하지 않는다. 자동 기준은 그럴듯할수록 위험하다.


손으로 확인한다

에이전트 없이 한 번은 직접 본다

01

S2_TiO2_rutile.csv원시 반사율 그래프로만 그리게 한다

계산은 시키지 않는다. 그림만 받는다.

02

반사율이 뚝 떨어지기 시작하는 파장을 눈금으로 읽는다

03

hν = 1239.84 / λ 를 손으로 계산한다

손글씨 + 사진

그 값을 손으로 적고 사진을 찍어 제출한다. 에이전트가 낸 Eg와 비교하면 몇 백 meV 차이 날 것이다.

그건 틀린 게 아니다 — 눈으로 읽은 것은 흡수가 시작되는 곳이고, Tauc 외삽은 그것보다 낮은 곳을 가리킨다. 어느 쪽이 밴드갭인가?


제출

3줄 보고서 — results/보고서.md
형식은 학기 내내 같다
결론:     [숫자] [단위]
불확실성: [값] — 노이즈에서 온 것인지 절차 선택에서 온 것인지 밝힐 것
적용 범위: 이 방법의 가정이 이 시료에서 성립하는가. 확인한 근거는?

첫 줄은 범위로 쓴다. S1의 광학 밴드갭 = 3.31 ~ 3.35 eV처럼.

둘째 줄이 이번 실습의 핵심이다. 범위의 출처를 셋으로 나눠서 쓴다 — 잡음 ±0.01, 절차 선택 ±0.02, n 가정 ±0.11

셋째 줄에는 이런 것이 들어간다 — S3은 광택 펠릿이라 Kubelka-Munk가 성립하지 않는다. 값을 내지 않았다.

검증 로그 — results/검증로그.md
채울 것
에이전트가 낸 주장 (02의 첫 결과, 단일 값)
내가 시킨 검증
결과
남은 의심
손 앵커 — 눈금으로 읽은 흡수 시작 파장과 hν (손글씨 + 사진)
탈락시킨 절차와 그 이유 (관문 표에서 가져온다)
값을 내지 않기로 한 시료와 그 근거
에이전트에게 맡기면 안 되는 단계 1개 + 이유 2줄
최종 결론 = ______ ~ ______ (근거: ______)
⑧번 힌트

다섯 절차 중 하나는 사람이 안 봐도 되게 만든 것이었다. 그게 어디서 무너졌나?

results/ 폴더 전체를 압축해서 제출한다.


막혔을 때

증상해볼 것
반사율이 100 %를 넘는다정상이다. Spectralon 기준이라 그렇다
관문에서 한 표준만 맞는다그게 오늘의 발견이다. 표에 남기고 그 절차를 뺀다
Tauc 그래프가 직선이 아니다시료를 확인한다. 07로 간다
Eg가 음수로 나온다정상이다. 08의 두 번째 함정이다
절차마다 답이 다르다정상이다. 그게 오늘의 주제다
에이전트가 문헌값(3.37 등)을 답으로 낸다AGENTS.md의 「문헌값을 답으로 쓰지 마라」를 다시 읽힌다
340 nm를 흡수단이라고 한다헤더의 # Lamp change를 읽힌다
그림의 한글이 네모(□□□)그래프 한글 폰트를 Malgun Gothic으로 지정해줘
에이전트가 “맞습니다”만 한다질문이 잘못됐다. “맞아?” 대신 “바꾸면?”으로

자유도는 파라미터가 아니라 절차 자체에 있다.

같은 절차 안에서 구간을 조금씩 움직이면 답은 거의 안 변한다. 절차를 바꾸면 0.2 eV가 움직인다. 그리고 어느 절차가 옳은지는 데이터가 말해주지 않는다 — 답이 알려진 시료를 하나 통과시켜 봐야 안다.

그렇게 걸러내고도 n 가정 하나가 끝까지 남는다. 그건 측정이 아니라 물질을 아는 사람이 정하는 것이고, 보고서에 그렇게 적어야 하는 것이다.

인공지능재료공학 · 실습 06 · 신소재공학부
데이터: 교육용으로 합성한 UV/VIS/NIR 확산반사 스펙트럼 — 실제 측정이 아니다