


새로운 연구는 한계를 극복하는 데 있어 신경망을 능가하는 양자 몬테카를로의 잠재력을 밝혔으며, Nature 하위 이슈에서는 최신 진행 상황을 자세히 설명합니다.
4개월 후, ByteDance Research와 Peking University 물리학과 Chen Ji 연구 그룹의 또 다른 공동 작업이 최고의 국제 간행물에 게재되었습니다. Nature Communications: "Towards the ground state of Molecular via Diffusion Monte Carlo"라는 논문 on Neural Networks 》신경망과 확산 몬테카를로 방법을 결합하면 양자화학 관련 작업에서 신경망 방법의 계산 정확도, 효율성 및 시스템 규모가 크게 향상되어 최신 SOTA가 됩니다.
- 문서 링크:
https://www.nature.com/articles/s41467-023-37609-3 - 코드 주소:
https://github.com/bytedance/jaqmc
저자는 고정 노드 표면의 확산 몬테카를로 방법에 신경망 기반 시험 파동 함수를 적용합니다. (Diffusion Monte Carlo 또는 DMC)는 다양한 전자 특성을 가진 원자 및 분자 시스템을 정확하게 계산하는 데 사용됩니다.
확산 몬테카를로법은 분자와 물질의 바닥 상태 에너지를 정확하게 계산하기 위해 양자화학 분야에서 일반적으로 사용되는 방법 중 하나입니다. 저자들은 이를 확산 몬테카를로 방법과 결합하여 양자화학에서 신경망 SOTA 방법의 계산 정확도와 효율성을 크게 향상시켰습니다. 또한 저자는 경험적 선형 관계를 기반으로 한 외삽법도 제안했는데, 이는 분자 결합 에너지 계산을 크게 향상시켰습니다. 전반적으로, 이 계산 프레임워크는 양자 다체 문제를 해결하기 위한 고정밀 방법 역할을 하며, 화학 분자의 특성을 심층적으로 이해할 수 있는 보다 강력한 도구를 제공합니다.
신경망 기반 양자 몬테카를로 방법2018년부터 여러 연구 그룹에서 변형 몬테카를로 방법(Variational Monte Carlo, 또는 VMC)에 신경망을 적용했습니다[1,2,3]. 신경망의 강력한 표현 능력의 도움으로 보다 정확한 분자 기저 상태 에너지를 얻을 수 있습니다. 본 연구가 2022년에 발표되었을 당시, 신경망 기반의 Variational Monte Carlo 방식의 SOTA 작업은 2019년 DeepMind가 제안한 FermiNet[2]으로, 더 작은 규모의 시스템에서도 매우 정확한 결과를 얻을 수 있었습니다. 그러나 변형 몬테카를로 방법의 정확성은 신경망의 표현 능력에 의해 제한되며, 대규모 시스템을 다룰 때 점점 더 명백한 정확성 문제가 발생할 것입니다. 또한 이러한 유형의 방법은 대규모 시스템을 처리할 때 매우 느리게 수렴되므로 컴퓨팅 리소스에 큰 문제를 야기합니다.
양자화학 분야의 고전적인 고정밀 알고리즘 중 하나로 확산 몬테카를로법은 높은 정확성, 우수한 병렬성 등의 좋은 특성을 가지며 대규모 계산에 적합합니다. 또한 확산 몬테카를로(Diffusion Monte Carlo)는 신경망 표현 능력의 한계를 극복하고 투영 알고리즘을 사용하여 변이 몬테카를로 방법의 정확도를 뛰어넘을 수 있습니다.
이 작업에서 저자는 SOTA의 신경망(FermiNet)을 시험 파동 함수로 확산 몬테 카를로 방법과 결합합니다. 새로운 계산 방법은 FermiNet에 비해 정확도를 크게 향상시키고 필요한 계산 단계 수를 줄입니다. 이 작업에서 설계 및 구현된 확산 몬테카를로 소프트웨어는 신경망 친화적, GPU 친화적, 병렬 친화적입니다. 광범위한 신경망 파동 기능과 결합하여 정확도와 효율성을 자동으로 향상시킬 수 있습니다.
계산 결과1. Atoms
대규모 분자계에서 양자 몬테카를로 계산을 하기 위해 신경망을 사용하는 경우, 컴퓨팅 파워의 한계로 인해 신경망의 표현 능력이 사용도 제한됩니다. 특정 제한사항. 이 시나리오를 시뮬레이션하기 위해 저자는 두 개의 신경망 계층만 사용하여 두 번째와 세 번째 행의 원자를 연구했습니다. 계산 결과는 시스템이 커질수록 변형 몬테카를로 방법의 정확도가 점점 더 나빠지는 반면, 확산 몬테카를로 방법에 의한 정확도 향상은 점점 더 분명해짐을 보여줍니다.
2. 분자
저자는 또한 질소 분자, 시클로부타디엔, 이중 물 분자를 포함한 일련의 분자 시스템에서 신경망 기반 확산 몬테카를로 방법의 유효성을 검증했습니다. 테스트한 모든 시스템에서 계산 정확도가 크게 향상되었습니다.
3. 벤젠 고리와 디페닐 고리
이 작품이 출판되기 전에는 양자화학 분야에서 변이형 몬테카를로를 기반으로 한 신경망 파동 함수 방법은 30개 정도만 다루었습니다. 전자 이하 소분자. 이 연구는 처음으로 42~84개의 전자를 가진 시스템, 즉 벤젠 고리와 비페닐 고리에 신경망 파동 함수 방법을 적용했습니다. 계산 결과는 확산 몬테카를로 방법이 변형 몬테카를로 방법보다 정확도가 훨씬 우수하며, 한 자릿수 더 적은 계산 단계로 동일하거나 더 나은 정확도를 달성할 수 있음을 보여줍니다.
4. 선형 관계 및 외삽 방법
저자가 신경망의 다양한 훈련 단계에 해당하는 에너지를 조사한 결과 여러 시스템에서 변형이 발견되었습니다. 몬테카를로와 확산의 결과 몬테카를로에는 경험적인 선형 관계가 있습니다(아래 왼쪽 그림). 이 선형 관계를 사용하여 비페닐 고리의 해리 에너지 계산을 추정하면 계산 정확도가 크게 향상되고 화학 실험과 일치하는 결과를 얻을 수 있습니다(아래 오른쪽 그림).
결론 및 전망
이 연구는 신경망을 기반으로 한 확산 몬테카를로 방법이 변형 몬테카를로 방법보다 정확성과 효율성 모두에서 우수하다는 것을 보여줍니다. 저자의 오픈 소스 확산 몬테 카를로 코드는 양자 화학 분야의 끊임없이 혁신적인 신경망[4,5]과 빠르게 결합되어 연구 커뮤니티에 힘을 실어줄 수 있습니다. 또한, 확산 몬테 카를로 방법은 실제 고체를 다루는 주기 신경망[6] 및 유사 전위 신경망[7]과 같은 일련의 방법과 결합하여 해당 작업에 대한 컴퓨팅 효과를 향상시킬 수도 있습니다.
위 내용은 새로운 연구는 한계를 극복하는 데 있어 신경망을 능가하는 양자 몬테카를로의 잠재력을 밝혔으며, Nature 하위 이슈에서는 최신 진행 상황을 자세히 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











GEMM(일반 행렬 곱셈)은 많은 응용 프로그램과 알고리즘의 중요한 부분이며 컴퓨터 하드웨어 성능을 평가하는 중요한 지표 중 하나이기도 합니다. GEMM 구현에 대한 심층적인 연구와 최적화는 고성능 컴퓨팅과 소프트웨어와 하드웨어 시스템 간의 관계를 더 잘 이해하는 데 도움이 될 수 있습니다. 컴퓨터 과학에서 GEMM의 효과적인 최적화는 컴퓨팅 속도를 높이고 리소스를 절약할 수 있으며, 이는 컴퓨터 시스템의 전반적인 성능을 향상시키는 데 중요합니다. GEMM의 작동 원리와 최적화 방법에 대한 심층적인 이해는 현대 컴퓨팅 하드웨어의 잠재력을 더 잘 활용하고 다양하고 복잡한 컴퓨팅 작업에 대한 보다 효율적인 솔루션을 제공하는 데 도움이 될 것입니다. GEMM의 성능을 최적화하여

WORD는 워드를 사용하여 다양한 텍스트를 편집할 수 있는 강력한 워드 프로세서입니다. Excel 표에서는 덧셈, 뺄셈, 승수 계산 방법을 익혔습니다. 따라서 Word 표에서 숫자의 덧셈을 계산해야 한다면, 승수를 빼는 방법은 계산기로만 계산할 수 있나요? 대답은 물론 '아니요'입니다. WORD도 그렇게 할 수 있습니다. 오늘은 Word 문서에서 수식을 사용하여 표의 덧셈, 뺄셈, 곱셈, 나눗셈 등의 기본 연산을 계산하는 방법을 함께 배워보겠습니다. 그럼 오늘은 WORD 문서에서 덧셈, 뺄셈, 곱셈, 나눗셈을 계산하는 방법을 자세히 보여드리겠습니다. 1단계: WORD를 열고 툴바의 [삽입] 아래 [표]를 클릭한 후 드롭다운 메뉴에 표를 삽입합니다.

Python의 count() 함수를 사용하여 목록의 요소 수를 계산하려면 특정 코드 예제가 필요합니다. 강력하고 배우기 쉬운 프로그래밍 언어인 Python은 다양한 데이터 구조를 처리하기 위한 많은 내장 함수를 제공합니다. 그 중 하나는 목록의 요소 수를 계산하는 데 사용할 수 있는 count() 함수입니다. 이번 글에서는 count() 함수의 사용법을 자세히 설명하고 구체적인 코드 예시를 제공하겠습니다. count() 함수는 Python의 내장 함수로, 특정 값을 계산하는 데 사용됩니다.

두 개의 문자열 str_1과 str_2가 주어졌습니다. 목표는 재귀 프로시저를 사용하여 문자열 str1에서 하위 문자열 str2의 발생 횟수를 계산하는 것입니다. 재귀 함수는 정의 내에서 자신을 호출하는 함수입니다. str1이 "Iknowthatyouknowthatiknow"이고 str2가 "know"인 경우 발생 횟수는 -3입니다. 예를 들어 str1="TPisTPareTPamTP", str2="TP"를 입력하면 Countofoccurrencesofasubstringrecursi가 출력됩니다.

C#에는 많은 수학 함수가 포함된 Math 클래스 라이브러리가 있습니다. 여기에는 지정된 숫자의 거듭제곱을 계산하는 데 도움이 되는 거듭제곱을 계산하는 Math.Pow 함수가 포함됩니다. Math.Pow 함수의 사용법은 매우 간단합니다. 밑수와 지수만 지정하면 됩니다. 구문은 다음과 같습니다. Math.Pow(base,expont); 여기서 base는 밑수를 나타내고 지수는 지수를 나타냅니다. 이 함수는 double형 결과, 즉 거듭제곱 계산 결과를 반환합니다. 하자

소개 행렬식을 이용하여 삼각형의 면적을 계산하는 자바 프로그램은 세 꼭지점의 좌표를 주어 삼각형의 면적을 계산할 수 있는 간결하고 효율적인 프로그램이다. 이 프로그램은 Java에서 기본 산술 및 대수 계산을 사용하는 방법과 Scanner 클래스를 사용하여 사용자 입력을 읽는 방법을 보여주기 때문에 기하학을 배우거나 작업하는 모든 사람에게 유용합니다. 프로그램은 사용자에게 삼각형의 세 점 좌표를 묻는 메시지를 표시하고 이를 읽어 좌표 행렬의 행렬식을 계산하는 데 사용합니다. 행렬식의 절대값을 사용하여 면적이 항상 양수인지 확인한 다음 공식을 사용하여 삼각형의 면적을 계산하여 사용자에게 표시합니다. 이 프로그램은 다양한 형식의 입력을 받아들이거나 추가 계산을 수행하도록 쉽게 수정할 수 있으므로 기하학적 계산을 위한 다용도 도구가 됩니다. 행렬식의 순위

널리 사용되는 범용 프로그래밍 언어는 Python입니다. 데스크톱 애플리케이션, 웹 개발, 기계 학습 등 다양한 산업에서 사용됩니다. 다행스럽게도 Python에는 초보자에게 적합한 간단하고 이해하기 쉬운 구문이 있습니다. 이 기사에서는 Python을 사용하여 행렬의 오른쪽 대각선의 합을 계산합니다. 매트릭스란 무엇입니까? 수학에서는 직사각형 배열이나 행렬을 사용하여 수학적 대상이나 그 속성을 설명합니다. 이는 행과 열로 배열된 숫자, 기호 또는 표현식을 포함하는 직사각형 배열 또는 테이블입니다. 예를 들어 -234512367574 따라서 3행 4열의 행렬이며 3*4 행렬로 표현됩니다. 이제 행렬에는 두 개의 대각선, 즉 주 대각선과 보조 대각선이 있습니다.

Java 프로그램을 사용하여 총점과 백분율을 계산하는 방법을 보여 드리겠습니다. 총점은 사용 가능한 모든 점수의 합을 의미하며, 백분율은 계산된 점수를 총점으로 나누고 결과 숫자 100을 곱한 것을 의미합니다. Percent_of_marks=(obtained_marks/total_marks)×100 예제 1 총점과 백분율을 계산하는 방법을 보여주는 Java 프로그램입니다. //Totalmarks 및 Percentages가 어떻게 계산되는지 시연하는 JavaProgramimportjava.io.*;publicclassTotalMarks_
