2019. 11. 19. 17:56ㆍRetail, Consumer Goods Industry
딥러닝을 공부하면서 실제 비즈니스에 어떻게 적용할 수 있을지에 대한 궁금증이 커졌다. 그래서 Sharmistha Chatterjee 님의 medium 글 Traditional vs Deep Learning Algorithms in Retail Industry — I, II, III를 번역한다. 이미지가 필요한 경우 원글을 참조하시는 게 많은 도움이 될 것입니다. 제가 나중에 보려고 만든 거라 구글 번역이 수준입니다
1. 유통업에서의 머신러닝 알고리즘의 라이프 사이클
training data 수집 -> model 학습 -> 피드백 순환구조에 따른 지속적인 성과 개선
예시1) Dinamic Pricing
머신러닝은 고객으로부터 데이터를 수집하고 유통사가 경쟁사 가격을 지속적으로 모니터링하고 확인하게 해준다. 이는 유통사가 자동 매칭하거나 보다 낮은 가격을 제안하게 만들어서, 고객은 최고의 딜을 얻고 같은 브랜드를 이용할 수 있다.
예시2) Fashion Trend Analysis
소셜 미디어 데이터를 모아서 고객 감성 분석을 통해 소비자의 관심사나 가장 핫한 트렌드를 분석하여, 특정한 고객에게 관련성 있는 오퍼를 제안할 수 있다.
예시3) 재고 관리
머신러닝은 유통사가 추가적인 비용 지출을 막고자 수요 예측을 통해 대처하도록 해준다.
2. 유통업에서의 앙상블 모델
앙상블 모델은 업셀링(up-selling), 크로스셀링(cross-selling), 이탈 방지와 유지 활동과 같은 uplift 모델링에서 대개 많이 쓰인다. 이 모델의 목적은 구매할 가능성이 높은 고객을 예측하는 것이 아니라, 무엇이 고객이 구매할 가능성을 높여주는지이다. 이 모델은 가장 수익성 높은 행동을 하는 고객을 선정하여 수행한 마케팅 캠페인의 성과를 예측하는 것을 목표로 한다.
Bagging, 랜덤 포레스트, stacking 같은 앙상블 방식은 uplift 모델링에 적용할 수 있다. 다른 Extremely Randomized Trees, Random Decision Tree 같은 앙상블 방식도 존재한다. 이 방법간의 차이는 앙상블 모델 내의 다양성을 만드는트리 학습 알고리즘안에 어떤 randomness 방식이 사용되는지에 달려있다.
Uplift 모델링은 마케팅 영역에도 적용된다. 실시간으로 마케팅 데이터셋을 수집하는 데 한계가 있는 uplift 모델링의 성공은 앙상블 기술의 높은 모델 성능에 달려있는데, 이는 고객 행동과 매주 약하게 상관성 있는 예측 변수로부터 기인된 다양성을 나타내는 것 때문이다.
3. 유통업에서의 클러스터링 Clustering in Retail
1) 점포 클러스터링
2) 카테고리 기반 클러스터링 - 특정한 그룹의 카테고리 내의 제품을 클러스터링 할 때 쓰임
3) 고객 세그멘테이션 - unsupervised clustering 방식 ; K-means, latent class analysis, hierarchical clustering
4. 주성분 분석
주성분분석은 거대한 다변량 정보 세트를 선형 구조로 만들고 분석하는 것을 쉽게 하며, 이전엔 예기치 않던 관계를 낮춘다. 주성분 분석은 factor analysis 테크닉으로 차원 축소 방식 중에 하나로, 초기 변수를 보다 작은 사이즈의 선형 조합으로 축소하는 것을 목표로 한다. 이런 factor matrix는 모든 요소로부터 뽑아낼 수 있는 모든 변수를 이용하는 것을 포함한다. eigenvalue는 각 요소의 전반적인 변동성을 나타낸다. 주성분분석의 역할은 정보안의 패턴을 인식하고, 정보간의 차이와 유사성을 두드러져보이게 하는 정보를 직접적으로 밝히는 데 있다. factor analysis는 변수를 합치고, response의 클러스터를 밝히고, 자동적으로 각 변수간의 가중치를 매긴다.
고객 제품 비즈니스는 새로운 수분크림의 양적인 퀄리티에 대해 고객의 반응을 평가하기를 원한다. 이 비즈니스의 마케팅 에이전시는 주요소분석을 수행하여 서로 연관 관계가 적은 변수만으로 만든 더 작은 변수 조합으로 더 쉽게 평가하고 분석할 수 있을지를 알아본다. 이 결과는 다음의 패턴을 따른다.
- 향기, 색깔, 텍스터가 '수분제의 퀄리티' 요소를 이룬다
- 깨끗해짐, 안티에이징, 반짝이는 요소가 피부를 좋아보이게 한다.
- 양이 적용되면 비용은 '가치'요소를 형성한다.
평가 지표는 아래와 같다
-리뷰와 피드백을 통해 얻은 고객의 만족 수준
-친구와 가족에게 제품 추천
-현재나 과거 고객이 미래에 제품 구매할 가능성
5. 유통업에서의 시계열 모델링
(1) 데이터 imputation
유통 분석 에서 번번하게 발생하는 누락되고 불완전한 데이터를 처리하는 데 활용할 수 있는 방안이 무엇인지 살펴 보겠습니다. 또한 ARIMA / SARIMA를 사용하여 주별, 월별, 다양한 기간동안의 제품의 재고/보충을 예측하는 방법을 익힐 수 있습니다.
누락 데이터와 대치 기술의 소스
- 중요한 속성에 대한 관측치/값이 누락되면 크라우드 소싱된 데이터셋은 불완전하다. 데이터 대치 방법은 크라우드 소싱, 정상regular, 이산, 판매retail가격 시계열 데이터세트에서 결측값을 채울 수 있다. 소매 가격 시계열 대치 (RPTSI) 방법은 시계열에 따라 단변량 시계열 데이터셋에서 판매retail 가격을 대치하기 위하여 세 가지의 구성 방법의 앙상블을 사용한다 : 가격 변동 찾기, 이동 평균의 중심선, 다항 보간 polynomial interpolation.
누락/희소 데이터를 처리하는 다른 기술은 다음과 같다다.
- MBI (Model Based Imputation) : 결측 데이터를 대치하기위한 많이 사용되며 효과적인 collaborative 접근 방식입니다. 데이터셋에 k 개의 변수가 포함 된 경우 MBI는 k 개의 다른 분류기classifiers를 작성하며, 각각은 다른 변수을 대상으로 예측하도록 훈련됩니다. 각 분류기classifier는 타겟변수의 관측치를 training set로, 결측 데이터는 test set으로 처리합니다.
- MF (Matrix Factorization)는 초기 행렬original matrix을 나타내는 잠재 행렬을 학습하여 행렬의 숨겨진 변수를 활용합니다. 추천 시스템은 다양한 MF 전략을 사용하여 점수가 매겨지지 않은 조합을 추천하기 위해 미비한 사용자-항목 점수의 협업 필터링을 사용한다.
-Supervised Matrix factorization은 잠재 변수 행렬을 학습하여 원래 데이터셋과 유사하며, 투영된 데이터 공간에서 선형으로 class를 분리 할 수 있습니다. 내적은 원래 행렬을 재구성 할 수 있이다. 힝렬 인수 분해의 중요한 측면은 모든 시계열 인스턴스가 공동으로 정보를 공유하고 모든 변수가 희소 데이터셋을 위해 특별히 설계된 확률 적 학습 기술을 통해 목적 함수에서 동일하게 취급되는 잠재적인 변수 space를 생성한다는 것이다. 분류 정확도 손실함수 (예 : 로지스틱 회귀 손실 함수)을 적용하여 잠재 데이터의 분리성을 향상시킨다. 변수나 포인트는 인접 포인트와 상관성 있는 시계열에 맞게 특별히 조정되지 않는다.
-Spline interpolation : spline은 곡선의 연속성과 매끄러움을 유지하여 누락된 요소를를 재구성하는 효과적인 시계열 내 대안입니다. Cubic Spline Interpolation (CSP)은 로컬 입방 다항식 (스플라인)을 피팅하여 누락 된 세그먼트를 보간하여 관찰된 인접 세그먼트에 대한 연결 지점에서 1 차 미분 (접선) 및 2 차 미분 (곡률 속도)이 유지되도록 합니다.
(2) 시계열 예측
- SARIMA 및 SARIMA-회귀 모델을 사용하여 도매 수준의 월별 소매 상품 가격을 예측할 수 있습니다.
ㅁ 평일 및 휴일은 SARIMA-회귀 모델에서 외부 변수로 작용하여 예측 변수의 중요성을 식별합니다.
ㅁ 소매점에서 신선식품의 일일 판매량을 예측할 때 외부 요인이 있는 SARIMA 모델 (SARIMAX)이 전통적인 SARIMA 모델의 단점을 극복하기 위해 제안되었습니다.
ㅁ ARIMA 및 Holt-Winters (HW) 모델은 유통기한이 짧은 유제품 그룹의 시계열 예측에 사용됩니다.
ㅁ 다른 점포 지역 에서 계절성과 휴일 효과를 고려하려면 ARIMAX 및 SARIMAX 모델이 모두 좋습니다.
- 수요 예측에 사용되는 시계열 외에도 Markov Chains는 판매 예측에서 중요한 역할을합니다.
6. Word2Vec에서 Prod2Vec로
각 문장이 단어로 구성되고 주어진 단어와 유사어가 문맥상 단어를 고려하여 식별되는 word2vec 모델 (CBoW (Continuous Bag of Words))과 유사하게, 유사한 알고리즘 모델은 유통 영역에서 대한 유사한 알고리즘 모델을 Prod2Vec이라고 한다. Prod2Vec은 개별 바구니가 제품으로 구성되어 있다고 가정하고, 동일한 바구니에서 구매한 다른 제품을 고려하여 유사한 제품을 식별한다. t-SNE (t-Distributed Stochastic Neighbor Embedding)라고하는 차원 축소 기술을 사용하여 표현할 때 각 제품의 결과 제품 벡터 시각화는 아래 그림에 나와 있습니다. 그림의 각 색상은 특정 제품 세트를 나타내며 제품이 가까이 있을수록 더 유사합니다. 이를 통해 제품을 n차원 벡터로 변환하여 소매 산업에서 다양한 사례를 해결할 수 있습니다. (대박!)
7. 유통에서의 딥러닝
1) CNN
유통 산업에는 딥러닝이 이러한 문제를 해결하는 데 도움이되는 몇 가지 사용 사례와 비디오 식별 사례가 있습니다.
1-1) 제품이 사라지거나 이동하는 것을 감지
- Convolution Neural Networks는 점포에서 제품이 사라졌는지 감지하는 데 중요한 역할을 한다. 이 심층 신경망에 대한 입력데이터는 자동 판매기 앞 진열대에 있는 제품과 상호 작용하는 사람들의 비디오. 카메라는 기기 상단에 장착되어 있으며 문이 열려있을 때만 비디오를 녹화하도록 한다. 몇 가지 다른 심층 신경망 아키텍처를 사용하여 비디오의 타임 프레임 내에서 제품이 진열대에 제거되었는지 또는 추가되었는지를 분류 할 수 있다. 비디오 데이터셋의 양이 작기 때문에, 사전 훈련된 모델을 학습과 함께 사용하면(과적합을 피하고자) 진열대에서 제거 된 제품을 쉽게 감지 할 수 있다.
ㅁ 비디오 분류 문제에는 "이미지 분류 모델" 인 SqueezeNet을 사용하세요
ㅁ 배치 정규화 및 전송 학습과 함께 C3D (3D ConvNets)와 같은 "비디오 분류 모델"을 사용하여 비디오에서 고객 행동을 식별한다.
※ 일반적인 C3D는 객체object, 장면scene을 식별하고 고객 행동을 추적하는 데 사용된다.
- generative method and discriminative method.
다른 물체 추적 방법은 관찰 모델입니다 : 생성generative 방법과 구별discriminative 방법. 생성generative 방법은 생성 모델을 사용하여 명백한 특성을 설명하고 재구성 오류를 최소화하고자 PCA와 같은 개체object를 찾는다.
가장 강력한 메커니즘 중 하나 인 구별discriminative 방법을 사용하여 물체와 배경을 구별 할 수 있습니다. 감지에 의한 traking을 하기 위해, 모든 프레임에 대한 후보 객체가 검출되고 딥러닝 방법이 후보군로부터 원하는 객체를 인식하는데 사용된다.
1-2) 제품 분류
온라인 쇼핑이 성장함에 따라 소매 업체는 의류 제품의 인기있는 디자인 스타일을 알고 더 많은 수익을 얻기 위해 이러한 스타일의 생산을 늘리는 것이 필수적이다. 따라서, 시스템이 다른 스타일, 질감, 크기 등에 따라 의류 제품을 분류 할 수 있다면, 고객에게 선택에 따른 제품을 자동으로 제안 할 수있다. 텍스처, 이미지의 강도나 혹은 색상의 국소 공간 변화를 기반으로 하여 성공적으로 디자인 분류하는 것은 지난 수십 년 동안 중요한 주제였다다. 분류, 감지 or 세그멘테이션에 성공하려면 이미지 텍스처에 대한 효율적인 설명이 필요하다. CENSRIST (Census Transform histogram), LBP (Local Binary Pattern), HOG (Histogram of Oriented Gradient) 등과 같은 일부 수작업으로 추출한 특성 feature 추출 방법이 존재하며 이 들 중 일부는 연산의 단순성과 더 나은 정확성으로 인해 인기를 얻었다.
그러나 특정 심층 CNN 모델은 수동 엔지니어링 feature 추출 방법보다, 의복 디자인 클래스garments design class를 식별 할 때 더 정확한 결과를 얻을 수 있다. Deep CNN에 사용되는 full-connected 레이어 및 Convolutional 레이어는 더 정교하게 feature를 나타내며, 이는 수동 엔지니어링을 활용한 feature 추출 기술보다 강력하다
Convolutional Neural Networks는 제품 이미지, 성별 및 연령 분류뿐만 아니라 제품과 사람을 구별하는 것과 같은 다른 분류 작업에서 성능을 평가받아왔다.
2) Region-based Convolutional Neural Networks (RCNN) 활용한 물건 탐지
2-1)
이미지 안에서 객체를 정의하는 작업에는 일반적으로 개별 객체에 대한 경계 상자 및 레이블을 출력하는 작업이 포함됩니다. 이는 단일 지배적 개체 대신 많은 개체에 분류 및 현지화를 적용한다는 점에서 분류/현지화 작업과 다르다. 객체 분류에는 두 가지 클래스가 있다. 하나는 객체 경계 상자가 있고 다른 하나는 비객체(객체가 아닌) 경계 상자가 있다. 예를 들어, 실제 소매 식료품 바구니에서 지정된 바구니의 모든 품목은 해당 경계 상자가있는 지정된 이미지에서 감지해야 한다.
ㅁ 한 가지 방법은 슬라이딩 윈도우 기술을 사용하여 이미지를 분류하고 지역화하는 것입니다. 여기서 CNN은 다양한 이미지 자르기에 적용될 수 있습니다. CNN은 각 작물을 객체 또는 배경으로 분류하기 때문에 CNN의 적용 범위가 수많은 위치와 스케일에 적용되므로 계산 비용이 많이 소요.
ㅁ 효율적인 방식으로 확장하기 위해 신경망 연구자들은 영역을 찾는 대신, object를 포함 할 가능성이 있는 "불완전한" 이미지을 사용하도록 했다. 이는 확장성 면에서나 더 짧은 대기시간 안에 실행 할 수 있게 햇다.
초기에 설계된 모델은 R-CNN (Region-based Convolutional Neural Network). R-CNN에서 2,000 개의 이하의 region 제안을 생성하는 선택적 검색이라는 알고리즘을 사용하여 전체 입력 이미지에서 가능한 객체를 스캔합니다. 이에 따라 CNN 모델은 이러한 각 region 지역 제안 위에서 실행됩니다. 마지막으로 각 CNN의 출력을 SVM에 공급하여 영역을 분류하고 선형 회귀를 통해 객체의 경계 상자를 강화합니다. 물체 감지에서, 이 문제는 이미지 분류 문제로 해결됩니다.
2-2) Fast R-CNN
ㅁ R-CNN의 직접적인 계승자는 Fast R-CNN이며, 이는 2 가지 기능 보강을 통해 탐지 속도를 향상시킵니다.
① region을 제안하기 전에 feature 추출을 수행하여 전체 이미지에 대해 하나의 CNN 만 실행
② SVM을 softmax 레이어로 대체하여 새로운 모델을 생성하는 대신 예측을 위해 신경망을 확장
빠른 R-CNN은 전체 이미지에 대해 하나의 CNN 만 훈련시키기 때문에 속도 측면에서 훨씬 더 성능이 우수합니다. 선택적인 검색 알고리즘은 여전히 지역 제안을 생성하는 데 많은 시간이 소요된다는 단점이 있다. 속도의 개선 부족은 region 제안이 다른 모델에 의해 별도로 생성되기 때문.
ㅁ R-CNN 분야의 다음 발명은 Faster R-CNN이며 이는 딥러닝 기반 객체 탐지를 위한 표준 모델이다. RPN (Region Proposal Network)을 삽입하여 기능에서 제안을 예측함으로써 느린 선택적 검색 알고리즘을 빠른 신경망으로 대체합니다. Faster R-CNN은 주로 2 개의 컨볼 루션 레이어가있는 피쳐 추출 및 ROI 제안 (ROI 풀링)에 사용됩니다.
RPN은 전체 추론 프로세스의 계산 요구 사항을 줄이기 위해, 이미지 내 조사 영역(areas of investigation)을 추론해내는 수석 의사 결정자 역할을 한다. RPN은 특정 지역에서 추가 처리가 필요한지 여부를 평가하기 위해 모든 위치를 빠르고 효율적으로 스캔합니다. 스캔 결과는 각각의 위치에서 물체의 확률을 나타내거나 나타내지 않는 2 개의 점수를 갖는 k경계 상자 제안을 도출한다. 그 후, 지역region 제안은 내부적으로 Fast R-CNN에 직접 제공한다. 풀링 계층, 일부 완전히 연결된 계층 및 마지막으로 softmax 분류 계층 및 경계 상자 회귀자가 Fast R-CNN에 추가되어 이를 Faster R-CNN으로 변환한다.
R-CNN이 빠를수록 속도와 정확도가 향상됩니다. 미래의 심층 CNN 모델은 탐지 속도를 높이기 위해 많은 노력을 기울였으며, Faster R-CNN보다 훨씬 뛰어난 성능을 보이는 모델은 거의 없었습니다. Faster R-CNN의 단점은 RoIPool (Region of Interests Pool)에서 선택한 기능 맵이 원본 이미지의 영역에서 약간 잘못 정렬 된 것입니다.
2-3) MaskRCNN
MaskRCNN은 branch(CNN 기반 feature -map 위에 얹혀진 fully Convolutional Network)를 Faster R-CNN에 추가하여 객체 감지 및 이미지 분할을 매우 성공적으로 수행하도록 구축 된 모델이다. 이진 마스크binary mask를 출력하여 주어진 픽셀이 객체의 일부분인지 아닌지를 감지한다. Mask R-CNN은 여러 종류의 출력을 예측하기 위해 단일 입력 (이미지)에서 작동하는 다중 작업 네트워크이다.
2- 4) Mask R-CNN에서 ROI 정렬
Mask R-CNN의 고유 한 기능 중 하나는 ROI 풀링의 개선. ROI에서는 비틀림(warping)이 디지털화되어, 타겟 feature map의 셀 경계가 입력 feqture map의 셀 경계와 정렬 되도록 한다.
Mask R-CNN은 ROI Align (Region of Interests Align)을 사용하여 셀 경계를 디지털화하지 않고 모든 대상 셀을 동일한 크기로 만든다. 셀 내에서 feature map 값을 더 잘 계산하기 위해 적용되는 이중 선형 보간(bilinear interpolation)은 반올림 오류를 방지하여, 감지 및 세그멘테이션의 부정확성을 방지한다. Mask R-CNN은 우수한 추론 속도, 우수한 정확도, 손쉬운 구현 프로세스 및 확장 기능의 장점으로 인해 인기가 있었다. Mask R-CNN은 이를 Faster R-CNN의 분류 및 경계 상자와 결합하여 정확한 분할을 생성합니다.
그러나 주요 단점은 잘못된 알림(false alerts)와 레이블 누락은 주요 단점이다. Mask R-CNN은 테이블에 배열된 몇 개의 제품을 모델로 공급하여 주스, 유리, 냉장음료, 세제, 컵, 머그잔, 스낵 등 다양한 장면 개체를 성공적으로 식별 할 수 있다. 또한, 각각의 식별된 경계 박스 내에서, 화려한 음영 영역은 이미지의 어느 픽셀이 물체에 대응 하는지를 정확하게 식별한다. 이것을 픽셀 세그먼테이션이라고하며, 이미지의 각 픽셀은 픽셀이 속하는 객체의 종류 (또는 배경)에 대한 예측 분류 레이블을 얻게 된다.
3) Text 식별 (대박)
MaskRCNN 및 이전 모델과 같은 객체object 감지 모델은 이미지 내에서 관심 영역을 식별하기 위한 매우 유연한 메커니즘을 제공한다. 객체 감지와 관련된 비 전통적 OCR에는 주로 텍스트 객체와 그 밖의 모든 객체의 두 가지 객체 클래스가 있습니다.
MaskRCNN과 매우 유사한 모델을 텍스트 현지화라고 하는 프로세스 인 텍스트를 포함 할 가능성이 높은 이미지에서 관심 영역 (RoI)을 식별하도록 훈련시킬 수 있습니다. 이러한 모델의 출력 예는 다음과 같습니다.
3-1) 텍스트 추출
텍스트 추출의 몇 가지 과제는 다음과 같습니다. 관심있는 문서가 일부 배경 개체와 함께 발생하며 문서 내의 텍스트가 구조화되지 않았습니다. 이를 위해서는 가능한 모든 기존 텍스트 블록을 식별해야 한다.
모델의 출력은 위의 이미지에 겹쳐집니다. 텍스트 영역은 텍스트의 예상 픽셀 마스크가 있는 점선 경계 상자로 식별됩니다. 각 상자 위에는 예측 된 클래스 및 신뢰도 점수가 있으며, 이는 관심있는 객체 클래스가 하나만 있기 때문에 감지 된 모든 경우에 "텍스트"로 여겨진다.
경계선 박스는 조밀tight하며 텍스트 영역을 상당히 정확하게 축약한다. Model MaskRCNN은 텍스트 현지화에 대한 효과적인 접근 방식을 설계하기 위해 OCR 관련 데이터셋을 활용한 개선 및 학습이 필요하다.다중 작업 학습에 픽셀 마스크를 포함하면 localization (bounding box regression)현지화 (경계 상자 회귀)가 훨씬 더 정확해진다.
따라서 중요한 것은 텍스트 블록에 해당하는 이미지의 RoI를 식별하는 것이므로 OCR에 대한 유틸리티는 제한적입니다
3-2) 유통 산업의 OCR
OCR 시스템은 회사가 선하 증권, 포장 목록, 송장, 구매 주문 등의 데이터를 스캔하고 추출 할 수 있도록 하여 유통업에 크게 유용하다. OCR의 고급 캡처 소프트웨어는 정의된 키워드를 기반으로 각 인보이스에 대한 템플릿을 만들기 위해 각 페이지에서 키워드를 찾는 동적 시스템.
이상입니다.
'Retail, Consumer Goods Industry' 카테고리의 다른 글
Unlocking Growth in CPG with AI and Advanced Analytics (0) | 2020.06.16 |
---|---|
번역 - 유통 산업에서의 딥러닝(2) : 딥러닝 vs 강화학습 (0) | 2019.11.19 |
[펌] Price Elasticity of Demand, Statistical Modeling with Python (0) | 2019.10.17 |
Price and Promotion Optimization for FMCG (1) | 2019.10.17 |
Gain-Loss Analysis & Interaction Index (0) | 2019.10.05 |