멤리스터 크로스바 배열 (Memristor Crossbar Array)
쉽게 풀면
멤리스터는 전류가 흐른 이력에 따라 저항값이 바뀌고, 전원을 꺼도 그 저항값을 기억하는 소자입니다. 이런 멤리스터를 바둑판처럼 가로줄과 세로줄이 교차하는 지점마다 하나씩 배치한 것이 크로스바 배열입니다. 각 교차점의 저항이 곱셈 계수처럼 작동해서, 가로줄에 전압을 넣으면 세로줄에서 곱셈과 덧셈이 동시에 이루어진 전류가 나옵니다. 이 때문에 별도의 연산기 없이도 배열 자체가 행렬 곱셈을 수행하는 하드웨어처럼 동작할 수 있습니다.
왜 중요한가
인공신경망의 핵심 연산인 행렬-벡터 곱셈을 저전력·고속으로 아날로그 방식으로 처리할 수 있어, 뉴로모픽 컴퓨팅과 인메모리 연산(in-memory computing) 연구에서 중요하게 다뤄집니다. 기존 메모리와 연산장치를 분리하는 폰노이만 구조의 데이터 이동 병목을 줄이는 대안으로 주목받고 있습니다.
논문에서는 이렇게 쓰입니다
멤리스터 크로스바 배열이 신경망 추론을 위해 벡터-행렬 곱셈을 아날로그 영역에서 수행한다는 내용입니다.
크로스바 배열 내 소자 간 편차가 인메모리 컴퓨팅에서 얻을 수 있는 가중치 정밀도를 제한한다는 의미입니다.
조금 더 깊게 보면
크로스바 배열의 각 교차점 저항값은 신경망의 가중치(weight)에 대응하며, 옴의 법칙과 키르히호프 전류 법칙에 의해 배열 전체가 자연스럽게 행렬-벡터 곱을 계산하게 됩니다. 다만 실제 소자에서는 저항 편차, 누설 전류(스니크 패스), 쓰기 정밀도 등의 비이상적 요소가 존재해 이를 보정하는 회로·알고리즘 기법이 함께 연구됩니다.
주의할 점
멤리스터 크로스바는 이상적인 조건에서의 연산 효율을 가정하는 경우가 많으며, 실제 소자의 비선형성과 편차, 누설 경로 문제로 인해 이론적 성능과 실측 성능 사이에 차이가 있을 수 있습니다.