>  기사  >  기술 주변기기  >  TensorFlow 애플리케이션 기술 확장 - 이미지 분류

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

王林
王林앞으로
2023-04-18 16:07:031666검색

1. 과학 연구 플랫폼 환경 배포 운영 확장

머신러닝 모델 훈련을 위해서는 중국 대학 MOOC의 두 가지 과정과 같은 공식 TensorFlow 과정이나 리소스를 더 많이 배우는 것이 좋습니다.​ 《TensorFlow Introduction to Practical 운영 과정》​​및​ 《TensorFlow 입문 과정 - 배포》​​. 과학 연구 또는 작업과 관련된 모델의 분산 교육의 경우 리소스 플랫폼은 종종 시간이 많이 걸리고 개인의 요구 사항을 적시에 충족하지 못할 수 있습니다. 여기서는 학생과 사용자가 보다 신속하게 모델 훈련을 수행할 수 있도록 이전 기사 "TensorFlow 프레임워크 학습에 대한 예비 이해"​​에서 언급한 Jiutian Bisheng 플랫폼의 사용을 구체적으로 확장해 보겠습니다. 본 플랫폼은 데이터 관리, 모델 훈련 등의 업무를 수행할 수 있으며, 과학 연구 업무를 편리하고 빠르게 실천할 수 있는 플랫폼입니다. 모델 훈련의 구체적인 단계는 다음과 같습니다.

(1) Jiutian Bisheng 플랫폼에 등록하고 로그인합니다. 후속 훈련 작업에는 컴퓨팅 파워 Bean이 소비되어야 하기 때문에 신규 사용자를 위한 컴퓨팅 파워 Bean 수가 제한되어 있습니다. 친구들과 공유하는 등의 작업을 통해 획득할 수 있는 컴퓨팅 파워빈 획득을 완료했습니다. 동시에 대규모 모델 훈련 작업의 경우 더 많은 모델 훈련 저장 공간을 확보하려면 이메일로 플랫폼 직원에게 연락하여 콘솔을 업그레이드하여 향후 필요한 훈련 저장 요구 사항을 충족할 수 있습니다. 저장 및 컴퓨팅 파워 빈의 세부 내용은 다음과 같습니다.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

(2) 데이터 관리 인터페이스에 들어가 과학 연구 프로젝트 모델에서 사용하는 데이터 세트를 배포하고, 패키징 및 모델 학습에 필요한 데이터 세트를 완성합니다. 이 플랫폼에 배포하는 데 필요한 데이터 세트를 업로드합니다.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

(3) 모델 훈련 창에서 새 프로젝트 훈련 인스턴스를 추가하고 이전에 가져온 데이터 세트와 필요한 CPU 리소스를 선택합니다. 생성된 인스턴스는 과학 연구를 위해 학습해야 하는 단일 모델 파일입니다. 새 프로젝트 인스턴스의 세부 사항은 아래 그림과 같습니다.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

(4) 새 프로젝트 인스턴스를 실행합니다. 즉, 작업이 성공한 후 프로젝트 교육 환경을 선택할 수 있습니다. 필요한 코드 파일을 생성하고 편집하려면 jupyter 편집기를 사용하세요.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

(5) jupyter 편집기를 사용하여 후속 코드 작성 및 모델 훈련을 수행할 수 있습니다.

2. 이미지 분류 기술 확장

이미지 분류는 이름에서 알 수 있듯이 이미지 간의 차이를 기반으로 다양한 이미지의 범주를 판단하는 것입니다. 이미지 간의 차이를 기반으로 판별 모델을 설계하는 것은 머신러닝에서 숙지해야 할 지식입니다. 이미지 분류에 대한 기본 지식과 작업 과정은 중문대학교 MOOC의 "TensorFlow 입문 실무 과정"을 참고하여 TensorFlow의 기본 응용 및 설계 아이디어를 빠르게 이해할 수 있습니다. . ​https://www.php.cn/link/b977b532403e14d6681a00f78f95506e

이 장의 주요 목적은 이미지 분류 기술을 확장하여 사용자에게 이미지 분류에 대한 더 깊은 이해를 제공하는 것입니다.

2.1 컨볼루션 연산의 용도는 무엇인가요?

이미지를 처리하거나 분류할 때 피할 수 없는 작업이 하나 있는데, 이 작업이 컨볼루션(Convolution)입니다. 구체적인 컨볼루션 연산은 기본적으로 학습 영상을 통해 이해할 수 있지만 컨볼루션 연산을 어떻게 수행하는지, 컨볼루션을 수행하는 이유와 컨볼루션 연산의 용도는 아직 불분명한 수준에 머무르는 독자가 더 많습니다. 다음은 컨볼루션을 더 잘 이해하는 데 도움이 되는 몇 가지 확장입니다.

기본 컨볼루션 프로세스는 아래 그림에 나와 있습니다. 이미지를 예로 들면, 행렬의 각 요소는 이미지의 해당 픽셀 값입니다. 컨볼루션 연산은 컨볼루션 커널에 해당 행렬을 곱하여 이러한 작은 영역의 고유값을 얻는 것입니다. 추출된 특징은 서로 다른 컨볼루션 커널로 인해 달라집니다. 이것이 누군가가 후속 분류 작업을 더 잘 수행하기 위해 이미지의 여러 채널의 특징을 얻기 위해 이미지의 서로 다른 채널에서 컨볼루션 작업을 수행하는 이유입니다.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

일상 모델 훈련에서는 특정 컨볼루션 커널을 수동으로 설계할 필요가 없으며, 주어진 이미지의 실제 레이블을 사용하여 네트워크를 통해 자동으로 훈련됩니다. 그러나 이 프로세스는 사람들의 컨볼루션 커널에 대한 이해에 도움이 되지 않습니다. 그리고 컨볼루션 프로세스는 직관적이지 않습니다. 따라서 모든 사람들이 컨볼루션 연산의 의미를 더 잘 이해할 수 있도록 컨볼루션 연산의 예를 들어보겠습니다. 아래 행렬에 나타난 바와 같이, 숫자값은 계산의 편의를 위해 0과 1만 취하였다. 그래픽의 절반은 밝고 그래픽의 아래쪽 절반은 검은색이므로 이미지 구분선이 매우 뚜렷합니다. 즉, 수평적인 특성이 뚜렷합니다.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

따라서 위 행렬의 수평적 특징을 잘 추출하기 위해서는 설계된 컨볼루션 커널에도 수평적 특징 추출의 속성이 있어야 합니다. 수직 특징 추출 속성을 사용하는 컨볼루션 커널은 특징 추출의 명확성이 상대적으로 부족합니다. 아래와 같이 수평 특징을 추출하는 컨볼루션 커널을 컨볼루션에 사용합니다.

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

획득된 컨볼루션 결과 행렬에서 원본 그래픽의 수평 특징이 잘 추출된 것을 알 수 있으며, 그래픽의 색상 부분의 픽셀 값이 깊어지기 때문에 그래픽이 더 명확해지며, 이는 그래픽의 수평적 특징을 잘 추출하고 강조합니다. 수직 특징을 추출하는 컨볼루션 커널을 사용하여 컨볼루션을 수행하는 경우:

TensorFlow 애플리케이션 기술 확장 - 이미지 분류

얻은 컨볼루션 결과 행렬을 보면 원본 그래픽의 수평 특징도 추출할 수 있지만 두 개의 구분선이 생성되는 것을 알 수 있으며, 그래픽 변화는 다음과 같습니다. 특히 밝음에서 밝음, 검은색으로, 실제 그래픽에 반영된 상황은 밝음에서 어두움, 검은색으로 바뀌며 이는 실제 원본 그래픽의 수평 특성과 다릅니다.

위의 예를 보면 서로 다른 컨볼루션 커널이 최종 추출된 그래픽 기능의 품질에 영향을 미치는 동시에 서로 다른 그래픽에 반영되는 특성도 서로 다르다는 것을 쉽게 알 수 있습니다. 컨볼루션 커널을 더 잘 배우고 디자인하는 것도 특히 중요합니다. 실제 지도 분류 프로젝트에서는 이미지의 차이를 기반으로 적절한 특징을 선택하고 추출해야 하며, 종종 trade-off를 고려해야 합니다.​​​​​​​

2.2 더 나은 이미지 분류를 위해 컨볼루션을 고려하는 방법은 무엇입니까?

이전 섹션의 컨볼루션 작업의 역할에서 볼 수 있듯이 이미지에 적응하는 컨볼루션 커널을 더 잘 학습하려면 네트워크 모델을 설계하는 것이 특히 중요합니다. 그러나 실제 응용에서는 주어진 이미지 카테고리의 실제 레이블을 기계가 이해할 수 있는 벡터 데이터로 변환하여 자동 학습 및 훈련이 수행됩니다. 물론, 수동설정을 통해 개선이 완전히 불가능한 것은 아닙니다. 데이터 세트의 레이블은 고정되어 있지만 데이터 세트의 이미지 유형을 기반으로 다양한 네트워크 모델을 선택할 수 있습니다. 다양한 네트워크 모델의 장점과 단점을 고려하면 좋은 훈련 결과를 얻을 수 있는 경우가 많습니다.

동시에 이미지 특징을 추출할 때, 기존 이미지 데이터에서 다중 작업 학습 방법을 사용하는 것도 고려할 수 있습니다. 이미지 등)을 수행한 후 이전에 추출한 특징을 보완하거나 채워 최종 추출된 이미지 특징을 개선합니다. 물론, 이 작업으로 인해 추출된 특징이 중복될 수 있으며, 얻은 분류 효과는 종종 비생산적이므로 실제 훈련 분류 결과를 기반으로 고려해야 합니다.

2.3 네트워크 모델 선택을 위한 몇 가지 제안

이미지 분류 분야는 원래의 고전적인 AlexNet 네트워크 모델부터 최근 인기 있는 ResNet 네트워크 모델까지 오랫동안 발전해 왔습니다. 일반적으로 사용되는 일부 이미지 데이터 세트의 분류 정확도는 100%에 달하는 경향을 보였습니다. 현재 이 분야에서는 대부분의 사람들이 최신 네트워크 모델을 사용하고 있으며 대부분의 이미지 분류 작업에서 최신 네트워크 모델을 사용하면 실제로 확실한 분류 효과를 얻을 수 있습니다. 따라서 많은 사람들이 이 분야에서 최신 네트워크 모델을 사용하는 경우가 많습니다. 이전 네트워크 모델을 확인하고 최신 인기 네트워크 모델을 직접 알아보세요.

여기에서는 기술 업데이트 및 반복이 매우 빠르고 최신 네트워크 모델도 향후 제거될 수 있으므로 독자들이 그래프 분류 분야의 일부 고전적인 네트워크 모델에 익숙해지는 것이 좋습니다. 기본 네트워크 모델의 기본 원리는 대략 동일합니다. 기존 네트워크 모델을 마스터하면 기본 원리를 익힐 수 있을 뿐만 아니라 다양한 네트워크 모델 간의 차이점과 다양한 작업 처리의 장점과 단점도 이해할 수 있습니다. 예를 들어, 이미지 데이터 세트가 상대적으로 작을 경우 최신 네트워크 모델을 사용한 교육은 매우 복잡하고 시간이 많이 소요될 수 있지만 개선 효과는 미미하므로 미미한 효과를 위해 자체 교육 시간 비용을 희생하는 것은 이득을 얻을 가치가 없습니다. . 따라서 이미지 분류 네트워크 모델을 마스터하려면 그것이 무엇인지, 왜 그런지 알아야 향후 이미지 분류 모델을 선택할 때 진정한 타겟이 될 수 있습니다.

저자 소개:

포리지(Porridge) 51CTO 커뮤니티 에디터는 전자상거래 인공지능 연구개발센터 빅데이터 기술부서에서 추천 알고리즘 업무를 담당한 적이 있습니다. 현재 자연어 처리 방향의 연구에 참여하고 있으며, 주요 전문 분야는 추천 알고리즘, NLP, CV 등이다. 사용하는 코딩 언어로는 Java, Python, Scala 등이 있다. ICCC 컨퍼런스 논문 1편을 출판했습니다.

위 내용은 TensorFlow 애플리케이션 기술 확장 - 이미지 분류의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제